作为将ASPX页面转换为Razor MVC5页面的一部分,我遇到了在我们的应用程序中使用的Kendo Tabstrip,它在aspx中具有以下语法
tabstrip.Add()
.Text(item.Title)
//.HtmlAttributes(new { tabindex = "-1" })
.Selected(true)
.Content(() =>
{
%>
<div style="width:980px; min-height:562px; margin-left:0px; margin-right:0px">
<%
using (Html.BeginForm(null, null, FormMethod.Post, new { id = "tabForm" }))
{%>
<div>
<%: Html.ValidationSummary(false)%>
<asp:ContentPlaceHolder ID="MainContent" runat="server" />
</div>
<div style="padding-top:30px; text-align:center;">
</div>
<%: Html.Hidden("NextActionHelper", Model.NextActionHelper)%>
<%: Html.Hidden("UserFormAction", Model.UserFormAction)%>
<%
}
%>
</div>
<%
});
当我使用下面的代码时,我得到一个半冒号缺失错误,这是在剃刀中,但我想知道使div有效的正确标记。 那就是我在第一个div标签之前使用@,就在.Content之后,它似乎没有效果,但除非我把它放在那里,div显示为带有波浪线的自由文本。使razor识别div标签的正确语法是什么?
tabstrip.Add()
.Text(item.Title)
.Selected(true)
.Content(() =>
{
@<div style="width:980px; min-height:562px; margin-left:0px; margin-right:0px">
@using (Html.BeginForm(null, null, FormMethod.Post, new { id = "tabForm" }))
{
<div>
@Html.ValidationSummary(false)
@RenderBody()
</div>
<div style="padding-top:30px; text-align:center;">
Some stuff in between
</div>
@Html.Hidden("NextActionHelper", Model.NextActionHelper)
@Html.Hidden("UserFormAction", Model.UserFormAction)
}
</div>
});
答案 0 :(得分:0)
尝试使用以下代码。它使用“内容”方法的其他重载。
tabstrip.Add()
.Text(item.Title)
.Selected(true)
.Content(
@<text>
<div style="width:980px; min-height:562px; margin-left:0px; margin-right:0px">
@using (Html.BeginForm(null, null, FormMethod.Post, new { id = "tabForm" }))
{
<div>
@Html.ValidationSummary(false)
@RenderBody()
</div>
<div style="padding-top:30px; text-align:center;">
Some stuff in between
</div>
@Html.Hidden("NextActionHelper",Model.NextActionHelper)
@Html.Hidden("UserFormAction",Model.UserFormAction)
}
</div>
</text>
);