2011-08-30 4 views
0

URL.RouteURL의 ConfirmController로보기에서 모델을 전달하는 방법은 무엇입니까?URL.RouteURL의 뷰에서 컨트롤러로 모델을 패스하는 방법

보기 (확인)

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

    <%: Html.ValidationSummary(true) %> 

      <div class="editor-field"> 
       <%: Html.CheckBoxFor(model => model.ConfirmOrder) %> 
      </div> 

<% } %> 

<%= Url.RouteUrl(new { controller = "care", action = "process"}) %> 

CareController

public ActionResult Process(ConfirmViewModel model) 
{ 
} 

감사

답변

0

당신은 이것에 대한 Url.RouteUrl를 사용해서는 안된다. 이것이 Html.BeginForm의 목적입니다. 양식을 컨트롤러에 제출하는 설정입니다. 사용중인 컨트롤러/동작을 변경해야하는 경우 Html.BeginForm (http://msdn.microsoft.com/en-us/library/system.web.mvc.html.formextensions.beginform)에 추가 매개 변수를 전달할 수 있습니다. .aspx). Url.RouteUrl은 요청한 정규화 된 URL 문자열을 반환합니다.

1

팀이 올바른 생각을했습니다. 여기에 코드 샘플이 업데이트되었습니다. MSDN 기사에서 지적한 것처럼 Html.BeginForm에 대한 여러 가지 오버로드가 있습니다. 필요한 것을 사용해야합니다.

<% using (Html.BeginForm("Process", "CareController" })) 
{ %> 
    <%: Html.ValidationSummary(true) %> 

    <div class="editor-field"> 
      <%: Html.CheckBoxFor(model => model.ConfirmOrder) %> 
    </div> 
<% } %> 
<input type="submit" value="Post"> 
관련 문제