如何将类添加到剃刀形式并给出填充?

时间:2011-12-08 10:32:40

标签: css asp.net-mvc-3 razor

 @using (Html.BeginForm())
 {
   @Html.TextBoxFor(m => m.Name, new { @Value = "Name" })
   @Html.TextBoxFor(m => m.Email, new { @Value = "Email" })
   <input type="submit" value="Go" />
  } 

如何为此添加css类并添加填充?我有以下css我希望添加以尝试填充它

    .newsletterform
{
    color:black;
    padding-left:20px;
}

1 个答案:

答案 0 :(得分:23)

您可以使用@class="className"设置类,但是您必须指定actionName,controllerName,FormMethod,因为没有Html.BeginForm的重载支持仅设置html属性。

@Html.BeginForm("ActionName", "ControllerName", 
                 FormMethod.Post, new { @class = "newsletterform" }

您也可以创建自己的html帮助程序,也可以为您执行此操作。

<强>更新

这是一个自定义的html助手。

public static class HtmlHelperExtension
{
    public static MvcForm BeginFormWithClassName(this HtmlHelper helper, string cssClassName)
    {
        string controllerName = (string)helper.ViewContext.RouteData.Values["controller"];
        string actionName = (string)helper.ViewContext.RouteData.Values["action"];
        return helper.BeginForm(actionName, controllerName, FormMethod.Post, new { @class = cssClassName });
    }
}

您可以从您的视图中调用此方法。

@using (Html.BeginFormWithClassName("newsletterform"))
{

}

希望这会有所帮助