2011-02-08 4 views
1

저는 MVC를 처음 사용하고 3.0을 사용하기 시작했습니다.MVC 3 form action 매개 변수

<% using (Html.BeginForm()) { %> 
<% } %> 

내가 실현 :

/hi/address/edit/1?_=1297158351246&amp;{} 

ASCX 파일에는 다음이 포함되어 내가 jQuery를 사용하여 양식이 포함 AA 부분보기를로드 할 때 나는 매개 변수는 작업에 추가됩니다 것으로 나타났습니다 다음 코드를 호출하여 매개 변수를 제거 할 수 있지만 추가 매개 변수가 왜 필요한지 알고 싶습니다.

<% using (Html.BeginForm("edit", "address")) { %> 
<% } %> 

는 UPDATE : 폼 jQuery를 사용하여로드되지

는 추가 매개 변수 폼 동작으로 존재하지 않는다.

+0

확실하지 왜 jQuery를가 거기를 둘 것입니다 사용 그렇게하면 컨트롤에 대한 링크가 있습니다. jquery가 양식을 제출할 때 무엇이든하도록 요청 했습니까? –

+0

예, jquery를 사용하여 함수 호출을 연결합니다. 이 함수는 preventDefault()를 호출하고 ajax 호출을합니다. – markpirvine

+0

그래서 왜 submit 이벤트에 jQuery를 붙이기 때문에 거기에 코드에 포인터를 추가하고있는 것입니다. –

답변

0

수정 링크에서 전달한 내용을 확인할 수 있습니까? 어딘가에 인코딩 문제가있을 것 같습니까?

항목을 편집하기 위해 링크를 클릭하면 정의되지 않은 매개 변수 인 _이있는 것처럼 보입니까?

이 정보는 올바른 컨트롤러와 작업을 선택하는 데 사용되며 제출 반품에 대한 컨트롤러 작업의 매개 변수도 설정하는 데 사용됩니다.

나는 100 % 확신 할 수는 없지만 숨겨진 변수로 사용하지 않는 한 BeginForm 변수를 하드 코딩하여 제출할 때 ID가 느슨하다고 생각합니다.

P. 당신이 파괴의 및 <% %>을 사용하여 대신보기

... 면도기, 재미의 부하를 사용에서 MVC 3를 사용하는 경우는 지금은 물건을 넣어 것, @

+0

루크, 답장을 보내 주셔서 감사합니다. 컨트롤러에서 2 개의 액션을 편집했습니다. 하나는 nullable ID를 int로 취하는 httpget이고, 다른 하나는 httppost로, id는 int 및 formcollection을 취합니다. 나는 면도날을 보았습니다, 그것은이 프로젝트를위한 선택 사항이 아니지만 좋게 보입니다! – markpirvine

+0

옵션이 없습니까? 정말? 확실 :) 새로운 cshtml을 업데이트하거나 만들 때까지 aspx 및 ascx 뷰를 사용할 수 있습니다. 따라서 httpget은 초기보기 용이고 게시물은 양식 제출을 처리합니다. id를 숨겨진 변수로 정의하지 않았거나 action 속성에서 Form Collection 또는 id 매개 변수에서 ID를 선택한다고 생각하지 않습니다. –