1

我有一个我管理的网站,里面有很多内容。由于我们确实必须处理国际字符,因此我希望我的所有表单都具有该accept-charset="utf-8"属性。现在我必须记住,并让我的团队记住在我们网站的每个表单上明确设置:

@using (Html.BeginForm(null, null, FormMethod.Post, new { accept_charset = "utf-8" })) {
  <!-- content of form -->
}

我希望能够将整个站点配置为默认放置。总之我想要这个代码:

@using (Html.BeginForm()) {
  <!-- content of form -->
}

生成此 HTML:

<form action="/Teaching/Edit/2522" method="post" accept-charset="utf-8">
   <!-- content of form -->
</form>

我找不到任何东西可以让我这样做。

4

1 回答 1

2

您可以创建一个包含静态 mvcHtmlString 方法的帮助程序类。在其中,创建一个“beginDefaultForm”方法以返回包含您的默认选项的 BeginForm 语句:

表单助手:

public static class FormHelper
{
    public static MvcForm BeginDefaultForm(this HtmlHelper helper)
    {
        return helper.BeginForm("actionName", "controllerName", 
               FormMethod.Post, new { accept_charset = "utf-8" });
    }
}

看法:

// reference the form helper namespace
@using FormHelperNamespace

// call beginDefaultForm
@Html.BeginDefaultForm()

您可能需要使用 actionName / controllerName 来获得所需的路线。

希望这可以帮助。

于 2013-10-03T04:36:32.273 回答