8

div要素をクリックすると、その要素に事前定義されたID値を取得するjQuery関数があります。私がやりたいのは、その親要素の子をロードすることなので、jQueryを使用して動的にHTMLを構築することを計画しています。方法がわからないのは、コントローラー(ASP.NET MVC 3)を呼び出して、コントローラーにコレクションをクライアントに返させることです。

JSONオブジェクトをjQueryからコントローラーに送信する方法は知っていますが、その逆はありません。

前もって感謝します!

4

3 に答える 3

19

Controllerからjsonにデータを送信する方法のコードは次のとおりです。

 $.ajax({
    url: '@Url.Action("GetData", "Home")',
    type: "GET",
    success: function (result) {
        $("#somediv").append(result.FirstName);
        $("#somediv").append(result.LastName);
        $("#somediv").append(result.Age);
    }
});

以下のようなクラスを考えてみましょう。

 public class User
 {
     public string FirstName { get; set; }
     public string LastName { get; set; }
 }

アクションは次のようになります。

public JsonResult GetData()  
{
   User user = new User();
   user.FirstName = "Yasser";
   user.LastName = "Shaikh";
   user.Age = 100;

   return Json(user, JsonRequestBehavior.AllowGet);
}

参考文献

于 2012-11-02T19:01:55.610 に答える
3

サンプル:

Javascript:

$.ajax({
        type: 'POST',
        url: '@(Url.Action("SomeAction", "SomeController"))',
        data: someInputData,
        error: OnErrorFunction,
        success: function (data, textStatus, XMLHttpRequest) {
            alert(JSON.stringify(data));
        },
        dataType: "json"
    });

コントローラ:

public ActionResult SomeAction(InputDataType someInputData)
    {
        if (someInputData== null)
            return null;
        return new JsonResult {Data = SomeOutputData(someInputData)};
    }
于 2012-11-02T15:27:56.113 に答える
1

jqueryajax関数とMVCRazorUrlプロパティを利用できます。

$.ajax({
    url: '@Url.Action("Home")',
    type: "GET",
    success: function (data) {
        $("my-div").append(data);
    }
});

successプロパティの値は、 dataという1つの引数を持つ関数です。これは、コントローラーから返されたものの結果です。

于 2012-11-02T15:25:43.447 に答える