我有以下表格:
@using (Html.BeginForm("Cancel", "Member", FormMethod.Post))
{
Html.SubmitButton(); //doesn't work
}
@*@Html.SubmitButton(); //does work*@
扩展方法如下所示:
public static MvcHtmlString SubmitButton(this HtmlHelper helper)
{
return new MvcHtmlString("<input type = \"submit\" value = \"Cancel\" />");
}
为什么 input 元素 HTML 可以在 using block 外生成,而不能在 using block 内生成?
最佳答案
您缺少前导 @
,它告诉 razor 将结果输出到 View 。当您仅使用 Html.SubmitButton();
时,会执行该方法并返回结果,但不会对其进行任何操作。
你的代码需要
@using (Html.BeginForm("Cancel", "Member", FormMethod.Post))
{
@Html.SubmitButton()
}
关于c# - HTML 扩展方法在表单中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49121606/