как добавить класс в форму бритвы и дать отступы? - PullRequest
6 голосов
/ 08 декабря 2011
 @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 Ответ

23 голосов
/ 08 декабря 2011

Вы можете установить класс с помощью @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"))
{

}

надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...