jquery - add class to html beginform
¿Cómo agregar una propiedad de ID a Html.BeginForm() en asp.net mvc? (4)
En System.Web.Mvc.Html (en System.Web.Mvc.dll ) el formulario de inicio se define como: - Details
BeginForm (este HtmlHelper htmlHelper, cadena actionName, cadena
controllerName, object routeValues, método FormMethod, object htmlAttributes)
Significa que deberías usar así:
Html.BeginForm (string actionName, string controllerName, object routeValues, método FormMethod, object htmlAttributes)
Por lo tanto, funcionó en MVC 4
@using (Html.BeginForm(null, null, new { @id = string.Empty }, FormMethod.Post,
new { @id = "signupform" }))
{
<input id="TRAINER_LIST" name="TRAINER_LIST" type="hidden" value="">
<input type="submit" value="Create" id="btnSubmit" />
}
Quiero validar mi formulario usando jquery pero no tiene una propiedad de ID
partir de ahora ¿cómo agregarlo al formulario en asp.net mvc? Estoy usando esto ...
<% using (Html.BeginForm()) {%>
y mi plugin de validación jquery toma esto,
var validator = $("#signupform").validate({
Ahora quiero dar identificación como signupform
... Cualquier sugerencia ...
Esto debería obtener el ID agregado.
ASP.NET MVC 5 e inferior:
<% using (Html.BeginForm(null, null, FormMethod.Post, new { id = "signupform" }))
{ } %>
ASP.NET Core: puede usar ayudantes de etiquetas en formularios para evitar la sintaxis impar para configurar el ID.
<form asp-controller="Account" asp-action="Register" method="post" id="signupform" role="form"></form>
He añadido algún código a mi proyecto, por lo que es más conveniente.
HtmlExtensions.cs:
namespace System.Web.Mvc.Html
{
public static class HtmlExtensions
{
public static MvcForm BeginForm(this HtmlHelper htmlHelper, string formId)
{
return htmlHelper.BeginForm(null, null, FormMethod.Post, new { id = formId });
}
public static MvcForm BeginForm(this HtmlHelper htmlHelper, string formId, FormMethod method)
{
return htmlHelper.BeginForm(null, null, method, new { id = formId });
}
}
}
MySignupForm.cshtml:
@using (Html.BeginForm("signupform"))
{
@* Some fields *@
}
Puede ser un poco tarde, pero en mi caso tuve que poner la identificación en el segundo objeto anónimo. Esto se debe a que el primero es para los valores de ruta, es decir, la URL de retorno.
@using (Html.BeginForm("Login", "Account", new { ReturnUrl = ViewBag.ReturnUrl }, FormMethod.Post, new { id = "signupform", role = "form" }))
Espero que esto pueda ayudar a alguien :)