¿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.