0

mvc 3 razor (EF4) を使用して Stackoverflow でコメント追加機能を再作成するにはどうすればよいですか?

モックアップコードは次のとおりです。

<div>add comment</div> 

<ul id="comments">                                          
@foreach (var comment in Model) {                           
    <li>@comment</li>                                       
}                                                           
</ul>                                                       

<form method="post" id="commentForm"                        
      action="@Url.Action("AddComment")">                   

    @Html.TextArea("Comment", new { rows = 5, cols = 50 })   
    <br />
    <input type="submit" value="Add Comment" />
</form> 

ajax/jquery を使用してコメントを追加/編集するにはどうすればよいですか? それは部分的なビューであるべきですか?

4

1 に答える 1

0

StackOverflow がどのようにそれを行うのかはわかりませんが、同じことを達成する方法がいくつかあります。

通常、ページに jQuery を記述して、フォームの投稿をインターセプトし、代わりに ajax を使用してデータを投稿します。

  1. Web API に投稿することも、JSON を返すアクションに投稿することもできます。サーバー上で、使用しているデータ ストアにコメントを追加し、成功の結果または保存されたコメントの詳細を返信します (任意)。完了したら、jQuery を使用してクライアント側で新しいエントリをレンダリングします。この場合は、コメントに新しい li を追加するだけです。また

  2. 部分ビューを返すアクションに投稿できます。コメントを保存し、コレクションを更新してから、部分ビューをレンダリングします。jQuery では、コメント セクション全体を新しいコンテンツに置き換えることができます。

これは非常に幅広い質問であり、他にも多くの方法があります。SignalR のようなものを使用してサーバーから新しいコメントをプッシュし (リアルタイムにする)、Knockout JS のような JS テンプレート フレームワークを使用して、テンプレートとオブジェクトの配列のみを扱うことができます。

于 2012-12-20T04:29:31.950 に答える