2009-05-02 5 views
2

私は以前この問題を抱えていましたが、私の人生ではそれを修正する方法を覚えていません または私はそれについてgoogled。PartialViewはdivの代わりに新しいページをレンダリングします

私は部分図

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

しかし、これはなぜ私のdivに新しいWebページをロードしないアクションから戻って渡しています?????????

<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を使用してサブミットされています。 – Malcolm

+0

しかし、あなたはまだ正しいです。送信ボタンが動作しません。 – Malcolm

+0

jQueryが.submit()メソッドを使用してフォームを送信し、Ajax.BeginFormヘルパーによってレンダリングされたAJAXコードをスキップすると思います。 –

関連する問題