2009-08-25 10 views
1

私は、ユーザー名とチェックボックスのリストを含むダイアログボックスをポップアップしたいhtmlリンクを持っています。ユーザーは1つまたは複数のチェックボックスを選択してOKをクリックすると、その情報がメインのGUIに戻されます。これはjqueryを使用して可能ですか?別のテクノロジーを使用する必要がありますか?asp.net mvcダイアログボックスのjquery

答えて

3

いいえ、jQueryはこれに最適なツールです。

あなたがする必要があるのは、コントローラのActionResultにポストバックし、データを返すか、または部分的に表示するだけです。ページに表示するだけです。

サンプルコードが必要な場合はお知らせください。私はいくつか投稿します。

しかし、本質的に、あなたのコントローラでは、このような何かを$.post("/controller/action", {arg1:val1, arg2:val2}, function(retHtml){ code to show data });

を行う必要があります。

public ActionResult action(string arg1, string arg2) 
{ 
    //Do guff 
    return PartialView("MyPartialView", FormViewModel); 
} 

サンプルが説明されている必要がある場合は、私にコメントでお知らせください。

EDIT:

私が与えたコードが実際に合理的に完了したが、のはややそれを肉付けし、それを簡単にしましょう。これを行うにはより良い方法がありますが、これはjQueryを初めて使う人にとっては簡単で読みやすいものです。

ビューから始めましょう。

あなたは、このように、ボタンを言っている:

<input id="submitBtn" name="submitBtn" type="submit" onclick="postComment(<%=Model.Id %>); return false;" value="Submit" /> 

次にあなたがそうのように戻って投稿するjQueryのコードを持っています。

function postComment(id) { 
     var commentText = jQuery.trim($("#textbox_ + id.toString()).val()); 
     $.post("/Articles/jQueryAddComment", { commentText: commentText, id: id, }, function(newCommentListHTML) { 
      AddCommentReturn(id, commentType, newCommentListHTML); 
     }); 
    } 

何上記のコードは、フィールドを言うから、単純にコメントテキストをつかんでバックjQueryAddCommentの私のコントローラのアクションへの投稿およびいくつかの変数に渡してやっています。

私のコントローラには現在持っています。

public ActionResult jQueryAddComment(string commentText, int id) 
{ 
    //code here to add the new comment to the database. 

    //more code to get the new list of comments from the database and into a model 

    //code to return a partial view back to the view itself 
    return PartialView("CommentList", fvm); 

} 

上記のjQueryコードでコールバックが返されたHTMLを取得し、ページに表示するために、通常のJavaScript関数を呼び出します。

あなたは、その中にHTMLを含むDivを表示し、それにクリックイベントを提供して、ユーザーがそれと対話できるようにします。

これはもっと明確ですか?

+0

私はこの世界にはかなり新しいので、サンプルコードは素晴らしいでしょう – leora

関連する問題