Html扩展方法无法在表单中工作

时间:2018-03-06 00:27:17

标签: c# html asp.net asp.net-mvc-5

我有以下表格:

@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\" />");
}

为什么输入元素HTML能够在使用块之外但不在其中生成?

1 个答案:

答案 0 :(得分:5)

您错过了前导@,它告诉razor将结果输出到视图。当您仅使用Html.SubmitButton();时,将执行该方法并返回结果,但不会执行任何操作。

您的代码需要

@using (Html.BeginForm("Cancel", "Member", FormMethod.Post))
{        
    @Html.SubmitButton()
}