作为将 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 显示为带有波浪线的自由文本。使剃刀识别 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>
});