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" })

자바 스크립트로 양식 제출을 잡아야합니다.


1
감사합니다. 솔루션이 다음 코드를 생성합니다. <form action = "/ Main / Index / frm? name = frm"method = "post">
user426306

감사합니다 그것은 작동합니다 남자 다시 감사합니다
user426306

3
저를 많이 도왔고 귀하의 블로그도 대접입니다. 감사합니다 BritishDeveloper :)
Hallaghan 2012-08-05

GET 또는 POST 뒤에 id = "frm"을 입력해야합니다. 그렇지 않으면 id 값이 컨트롤러 (있는 경우)에 전달됩니다.
Hugh Seagraves 2016 년

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 2013 년

-3

이 답변에서 가져온 것 : Html.BeginForm ()으로 ID를 전달하는 방법?

당신은 할 수 없습니다 :

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

내가 묻고 싶은 많은 것을 이미 발견했기 때문에 대답을 찾기 위해 SO를 검색하는 것은 지불 할 수 있습니다.


그래도 경로 값을 추가하고 있습니다. html 속성이 아닙니다
BritishDeveloper

나는 당신이 널로 전달하는 곳에서 당신의 대답을 봅니다. 명명 된 매개 변수에 대한 기본값을 사용하고 출력 HTML에 추가 할 추가 속성 목록을 전달할 수 있다고 생각했습니다
Paul Hadfield

내가 전에 솔루션을 시도했지만이 같은 코드 생성 "<형태의 동작을 ="/ 홈페이지 / 지수 / 아이디 이름 = 아이디 "방법 ="POST? ">"
user426306

죄송합니다. 그게 작동하는 방식이라고 생각했습니다. 이 경우 사용자 고유의 HTML 확장 방법을 제공하거나 이전 HTML로 되 돌리는 좋은 예가 될 수 있습니다.
Paul Hadfield
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.