Как я могу назвать форму с помощью 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">

Ответы:


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 будет передано контроллеру (если есть).
Хью Сигрейвс,


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.
Пол Хэдфилд
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.