Как я могу назвать форму с помощью Html.BeginForm ()?

79

Как дать имя форме в ASP.NET MVC с помощью Html.BeginForm()? Мне нужно только имя, а не название действия или контроллера, потому что я хочу опубликовать его через Javascript. Думаю должно быть что-то вроде Html.BeginForm(id = "frm").

Я пробовал следующее:

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

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

Но приведенный выше код дает следующий результат:

<form action="/Main/Index/Id?name=Id" method="post">
user426306
источник

Ответы:

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

Вам нужно будет поймать отправку формы с помощью вашего JavaScript

Британский разработчик
источник
1
Спасибо. Но ваше решение создает этот код <form action = "/ Main / Index / frm?
Name
Спасибо, это работает,
чувак, еще
3
Мне очень помог, и ваш блог тоже удовольствие. Спасибо BritishDeveloper :)
Халлаган
Убедитесь, что вы поставили id = "frm" после GET или POST, иначе значение id будет передано контроллеру (если есть).
Хью Сигрейвс,
9

Используя MVC2, у меня сработало следующее:

<% 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
Вместо «Target-ViewName, где вы хотите опубликовать страницу», я думаю, вы имеете в виду «Целевой метод действия, в который вы хотите отправить данные».
Sachin Kainth
-3

Взято из этого ответа: Как передать идентификатор с помощью Html.BeginForm ()?

Вы не можете просто сделать:

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

Поиск ответов на вопросы может быть платным, поскольку я обнаружил, что многие вещи, о которых я хочу спросить, уже встречались.

Пол Хэдфилд
источник
вы добавляете значения маршрута. не атрибуты html
BritishDeveloper
Я вижу ваш ответ, в котором вы передаете нули, я действительно думал, что вы можете просто использовать значения по умолчанию для именованных параметров и передать список дополнительных атрибутов для добавления в выходной HTML
Пол Хадфилд,
Я пробовал ваше решение раньше, но оно генерирует такой код "<form action =" / Main / Index / Id? name = Id "method =" post ">"
user426306
Извините за это, я действительно думал, что так оно и было - очевидно, что нет. В таком случае это может быть хорошим примером того, когда следует предоставить собственный метод расширения HTML или просто вернуться к старому доброму HTML.
Пол Хэдфилд