2013-08-07 3 views
1

제출 된 양식에 대한 ASP.Net MVC 4 formcollection에 이상한 문제가 있습니다.ASP.Net MVC 4 formcollection 문제

  1. ASP.Net MVC 4 프로젝트
  2. 내가 양식을 가지고 다수의 입력과보기에 다음은 상황의 사실이다.
  3. 양식에 두 개의 제출 단추가 있습니다. 각 단추는 다른 이름을 가지며 각각 HttpParamActionAttribute를 사용하여보기 컨트롤러의 다른 작업에 매핑됩니다.
  4. 양식 안의 두 개의 제출 단추 각각을 가리키는 onclick 이벤트가있는 양식 외부에 두 개의 Actionlink 단추가 있습니다. 즉,이 버튼을 클릭 할 때마다 양식 내의 해당 제출 버튼을 클릭합니다.
  5. 내가 겪고있는 문제는 actionlink 단추를 누르면 컨트롤러에 제출 된 양식의 FormCollection이 올바르지 않다는 것입니다. 서식 단추를 직접 누르면 양식 모음에 올바른 양식 값이 모두 표시됩니다. 그러나 actionlink 단추를 누르면 formcollection에 제출 된 양식의 값이 표시되지 않습니다. 대신 폼의 이전 (기본값) 값을 표시합니다.

왜 차이가 있습니까?

actionlink 버튼이 양식 제출 클릭을 시뮬레이션 한 경우 양식 제출 자체가 눌러졌지만 분명히 그렇지 않은 것처럼 매우 똑같을 것이라고 생각했습니다. 왜 안돼? 이 같은

+2

몇 가지 코드를 게시하시기 바랍니다. 액션 링크가있는보기는 좋을 것입니다. – Jay

+0

코드를 보지 못해서 확신 할 수 없지만 액션 링크의 끝에서 false를 반환해야 할 수 있습니다. 코드를 클릭하여 [기본 액션 취소] (http://stackoverflow.com/questions/1357118/event- preventdefault-vs-return-false). 링크의 기본 동작을 취소하지 못하면 설명하는 동작이 발생할 수 있습니다. –

답변

0

시도 뭔가 :

$('#outsideFormbutton').on('click', function() 
{ 
    // This will call your form submit button 
    $('#formButton').click(); 
}); 

$('#formButton').on('click', function(e) 
{ 
    // Prevents the default action of the form button 
    e.preventDefault(); 
    // Manually submit your form 
    $('#myForm').submit(); 
});