Asp.net mvc 4 MVC 4 Razor如果拆分div标记
我有以下MVC 4 Razor代码:Asp.net mvc 4 MVC 4 Razor如果拆分div标记,asp.net-mvc-4,razor,Asp.net Mvc 4,Razor,我有以下MVC 4 Razor代码: @for (int i = 1; i <= 100; i++) { if (currentCol == 1) { Html.Raw("<div class=row>"); @*Need to do this because can't have a open div within a if compiler doesnt like it *@ } if (currentCol == maxCol)
@for (int i = 1; i <= 100; i++) {
if (currentCol == 1) {
Html.Raw("<div class=row>");
@*Need to do this because can't have a open div within a if compiler doesnt like it *@
} if (currentCol == maxCol) {
Html.Raw("</div>");
}
currentCol++;
}
@for(inti=1;i尝试在Html.Raw
调用前面加上@
:
@for (int i = 1; i <= 100; i++)
{
if (currentCol == 1)
{
@Html.Raw("<div class=row>");
}
if (currentCol == maxCol)
{
@Html.Raw("</div>");
}
currentCol++;
}
@for(int i=1;iRazor遵循HTML和C#/VB语法块,这就是分解标记的原因。两种解决方法:
1:使用Html.Raw
(如您所做)
if(条件){
@Html.Raw(@“”)
}否则{
@Html.Raw(“”)
}
2:使用特殊的…
标记
if (condition){
<text>
<div class="row">
</text>
}else{
<text>
</div>
</text>
}
if(条件){
}否则{
}
请记住,@
符号对于Razor解析器来说意味着您正在从一种语言转换到另一种语言(尽管是HTML到代码,反之亦然)。因此,如果(…)
块和HTML.Raw
实际输出HTML,您需要使用@
也可以使用:
if(condition){
@:<div>
}
if(condition){
@:</div>
}
if(条件){
@:
}
如果(条件){
@:
}
感谢Darin这么做:)工作很好,因为出现了错误,按“CTRL+K+D”键
if(condition){
@:<div>
}
if(condition){
@:</div>
}