gpt4 book ai didi

asp.net-mvc - Razor .NET 无法识别代码脚本

转载 作者:行者123 更新时间:2023-12-04 05:57:08 32 4
gpt4 key购买 nike

我认为有以下代码。内部 for声明,我想将父项中的每 4 个项目分组 div . If(counter == 0) , 我渲染父 div ,然后我渲染四个项目,然后如果它是 4 个项目组中的最后一个,我关闭父 div .

但是,看起来 Razor 希望我关闭父级 div在第一 if .看起来 Razor 不够聪明,无法知道父结束标签在第二行内,如果下面有几行,或者我可能遗漏了一些东西。有什么想法可以解决这个问题吗?

 @{int counter = 0; }
@for (int i = 0; i < Model.UserManagedRoles.Count; i++){
string roleName = Model.UserManagedRoles[i].Name.Replace(" ", "").Trim();
string id = string.Format("chk{0}", roleName);

if (counter == 0)
{
<div class="rowCapture divUserRoles">
}

<div class="hzStackSmall">
<input type="checkbox" id="@id" name="@id" value="@roleName" />@Model.UserManagedRoles[i].Name</div>

if(counter == 3 || i == Model.UserManagedRoles.Count) {
</div>
}

counter++;
if (counter == 4)
{
counter = 0;
}
}

最佳答案

您必须使用 @: <div class="hzStackSmall">使用 Razor 引擎打印 HTML 代码。这会有所帮助吗?

我强烈推荐 this来自 ScottGu 博客的关于 Razor 引擎的教程。

 @{int counter = 0; }

@for (int i = 0; i < Model.UserManagedRoles.Count; i++)
{
string roleName = Model.UserManagedRoles[i].Name.Replace(" ", "").Trim();
string id = string.Format("chk{0}", roleName);

if (counter == 0)
{
@:<div class="rowCapture divUserRoles">
}

@:<div class="hzStackSmall">
@:<input type="checkbox" id="@id" name="@id" value="@roleName" />@Model.UserManagedRoles[i].Name</div>

if(counter == 3 || i == Model.UserManagedRoles.Count) {
@:</div>
}

counter++;
if (counter == 4)
{
counter = 0;
}
}

关于asp.net-mvc - Razor .NET 无法识别代码脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9386917/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com