2009-05-02 128 views
2

我曾經遇到過這個問題,但對於我的生活還記得如何修復它 或我在哪裏搜索了它。PartialView渲染新頁面而不是div

我從一個動作傳回的局部視圖

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

但這加載一個新網頁,並沒有進入我的div WHY ?????????

<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中,你必須自己做。嘗試交換您的「保存註釋」鏈接提交按鈕:

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

然後使用CSS風格的按鈕到你的心中的內容。

+0

表單正在使用JQuery submited。 – Malcolm 2009-05-02 07:30:18