Как добавить свойство ID в Html.BeginForm() в asp.net mvc?
Я хочу проверить свою форму с помощью jquery, но теперь у нее нет свойства ID
, как добавить его в форму в asp.net mvc? Я использую это...
<% using (Html.BeginForm()) {%>
и мой плагин для проверки правильности jquery принимает это,
var validator = $("#signupform").validate({
Теперь я хочу указать id как signupform
... Любое предложение...
Ответы
Ответ 1
Это должно добавить идентификатор.
ASP.NET MVC 5 и ниже:
<% using (Html.BeginForm(null, null, FormMethod.Post, new { id = "signupform" }))
{ } %>
Ядро ASP.NET: вы можете использовать тег-помощники в формах, чтобы избежать нечетного синтаксиса для установки id.
<form asp-controller="Account" asp-action="Register" method="post" id="signupform" role="form"></form>
Ответ 2
Я добавил код в свой проект, поэтому он более удобен.
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 *@
}
Ответ 3
В System.Web.Mvc.Html(в System.Web.Mvc.dll) форма начала определяется как: - Подробности
BeginForm (это HtmlHelper htmlHelper, string actionName, строка
controllerName, object routeValues, метод FormMethod, объект htmlAttributes)
Значит, вы должны использовать следующее:
Html.BeginForm(string actionName, string controllerName, object routeValues, метод FormMethod, объект htmlAttributes)
Итак, он работал в 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" />
}
Ответ 4
Может быть, немного поздно, но в моем случае мне пришлось поместить идентификатор во второй анонимный объект.
Это связано с тем, что первая предназначена для значений маршрута, например, для возвращаемого Url.
@using (Html.BeginForm("Login", "Account", new { ReturnUrl = ViewBag.ReturnUrl }, FormMethod.Post, new { id = "signupform", role = "form" }))
Надеюсь, это может помочь кому-то:)