2009-05-02 3 views
2

이전에이 문제가 있었고 그 문제를 해결하는 방법을 기억하지 못했습니다. 또는 내가 검색 한 부분이 있습니다.PartialView는 div 대신 새로운 페이지를 렌더링합니다.

나는 부분보기

 return PartialView("CommentsListControl", recipe.Comments); 

그러나 이것은 왜 내 사업부에 새로운 웹 페이지를로드하지 작업에서 다시 통과하고 ?????????

<table width="100%"> 
    <tr><td> 
     <div id="divComments"> 
      <% using (Ajax.BeginForm("CreateComment", new AjaxOptions { UpdateTargetId = "divCommentsList", InsertionMode = InsertionMode.Replace })) 
       { %> 
      <textarea id="comments" name="comments" rows="3" cols="60"></textarea> 
      <table width="100%"><tr><td align="right"> 
       <a href="#" id="savecomment">Save Comment</a> 
       <%= Html.Hidden("recipeid", Model.RecipeID) %> 
      </td></tr> 
      </table> 
      <% } %> 
     </div> 
    </td></tr> 
    <tr><td> 
     <div id="divCommentsList"> 
      <% Html.RenderPartial("CommentsListControl", Model.Comments); %> 
     </div> 
    </td></tr> 
</table> 

답변

1

표시 한 샘플에는 양식에 제출 버튼이 없습니다. WebForms에서는 "asp : Hyperlink"컨트롤을 사용하여 양식을 제출하는 것이 좋았던 링크를 생성 할 수 있었지만 WebForms가 JavaScript를 구현했기 때문에 가능했습니다. MVC에서는 직접해야합니다. 교환 시도를 A 제출 버튼을 위해 밖으로 연결 "댓글 저장"

<input type="submit" value="Save Comment" /> 

그런 다음 당신의 마음의 콘텐츠에 버튼 스타일을 CSS를 사용합니다.

+0

양식이 JQuery를 사용하여 제출 중입니다. – Malcolm

+0

하지만 당신은 여전히 ​​옳았습니다. submit 버튼이 작동하지 않습니다. – Malcolm

+0

jQuery가 .submit() 메소드를 사용하여 Ajax.BeginForm 도우미가 렌더링 한 AJAX 코드를 건너 뛰는 양식을 제출할 것으로 예상합니다. –

관련 문제