¿Cómo puedo nombrar un formulario con Html.BeginForm ()?


79

¿Cómo le doy un nombre a un formulario en ASP.NET MVC usando Html.BeginForm()? Solo quiero el nombre, no la acción o el nombre del controlador porque quiero publicarlo a través de Javascript. Creo que debería ser algo así Html.BeginForm(id = "frm").

Intenté lo siguiente:

Html.BeginForm(null,null,new{id="frm",name="frm})

Html.BeginForm(new{@id="frm",@name="frm})

Pero el código anterior produce un resultado como este:

<form action="/Main/Index/Id?name=Id" method="post">

Respuestas:


136
Html.BeginForm(null, null, FormMethod.Get, new { name = "frm", id = "frm" })

Deberá capturar el formulario enviado con su JavaScript


1
Gracias Pero su solución produce este código <form action = "/ Main / Index / frm? Name = frm" method = "post">
user426306

Thanks It Works Hombre Thank Again
user426306

3
Me ayudó mucho y tu blog también es un placer. Gracias BritishDeveloper :)
Hallaghan

Asegúrese de poner id = "frm" después de GET o POST o el valor de id se pasará al controlador (si lo hay).
Hugh Seagraves

9

Usando MVC2, esto es lo que funcionó para mí:

<% using (Html.BeginForm("Index", "Home", null, FormMethod.Post, new {@id = "myForm", @name = "myForm"})) {%>

0
@HTML.BeginForm("Target-ViewName where you want to post the page","Controller Name",new {@name="Name of the Form", id="ID of the Form"}) 
{ //form here
}

1
En lugar de "Target-ViewName donde desea publicar la página", creo que se refiere al "método de acción de destino al que desea publicar los datos".
Sachin Kainth

-3

Tomado de esta respuesta: ¿Cómo pasar la identificación con Html.BeginForm ()?

¿No puedes simplemente hacer:

Html.BeginForm(new {@id="Id", @name="Id"}); 

Puede ser rentable buscar SO para respuestas, ya que he encontrado muchas cosas que quiero preguntar.


sin embargo, estás agregando valores de ruta. no atributos html
Desarrollador británico

Veo su respuesta donde está pasando nulos, pensé que podría usar los valores predeterminados para los parámetros nombrados y pasar una lista de atributos adicionales para agregar al HTML de salida
Paul Hadfield

Probé su solución antes, pero genera un código como este "<form action =" / Main / Index / Id? name = Id "method =" post ">"
user426306

Lo siento, pensé que así funcionaba, obviamente no. En ese caso, este podría ser un buen ejemplo de cuándo proporcionar su propio método de extensión HTML o simplemente volver al buen HTML antiguo.
Paul Hadfield
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.