我在 ASP.NET MVC 6 中使用了新的 Helper 标签。
<form asp-area="DAS"
asp-controller="Report"
asp-action="Add"
asp-route-id="@Model.id"
asp-route-incBalance="@Model.incBalance"
asp-route-dateSet="@Model.dataStart.ToString("yyyy-MM-dd")"
asp-route-dateNext="@Model.dataEnd.ToString("yyyy-MM-dd")"
method="post" role="form">
</form>
我想路由属性:
asp-route-dateNext="@Model.dataEnd.ToString("yyyy-MM-dd")"
仅在以下情况下应用:
{
if (Model.incBalance == 0)
{
asp-route-dateNext="@Model.dataEnd.ToString("yyyy-MM-dd")"
}
}
结果,我想得到这样的东西:
<form asp-area="DAS"
asp-controller="Report"
asp-action="Add"
asp-route-id="@Model.id"
asp-route-incBalance="@Model.incBalance"
asp-route-dateSet="@Model.dataStart.ToString("yyyy-MM-dd")"
{
if (Model.incBalance == 0)
{
asp-route-dateNext="@Model.dataEnd.ToString("yyyy-MM-dd")"
}
}
method="post" role="form">
</form>
我收到这些错误:
TagHelper 属性必须格式正确。
if (Model.incBalance == 0)
和
标签助手“表单”在元素的属性声明区域中不得包含 C#。
asp-route-dateNext="@Model.dataEnd.ToString("yyyy-MM-dd")"
我正在使用 Visual Studio 2015 更新 1
更新1: 我也试过这个选项:
@(Model.incBalance == 0 ? "asp-route-dateNext=" + Model.dataEnd.ToString("yyyy-MM-dd") : string.Empty)
但错误仍然存在:
标签助手“表单”在元素的属性声明区域中不得包含 C#。
@(Model.incBalance == 0 ? "asp-route-dateNext=" + Model.dataEnd.ToString("yyyy-MM-dd") : string.Empty)