1

これが私の行動です。

    public virtual JsonResult AddSearch()
    {
        var data = new { Id = food.Id, Image = food.Image, Name = food.Name};

        return Json(data, JsonRequestBehavior.AllowGet);
    }

これが私のaJaxフォームです

    @using (Ajax.BeginForm("AddSearch", "Home", new AjaxOptions { OnSuccess = "AddSearch" }))

私のjavascriptファイル。

    function AddSearch() {
        alert("sdfsdfsdf");
    }

動作します。アラートボックスが表示されます。私の質問は、JsonResultによって返される「Id」、「Name」、および「Image」を取得する方法です。私は試した

        alert("sdfsdfsdf");

動いていない。

4

4 に答える 4

1

MVC(正確には目立たないAjaxヘルパー)は、標準のjQuery.ajax success(data, textStatus, jqXHR)コールバック引数をOnSuccessメソッドに渡します。

AddSearchしたがって、メソッドにパラメータを追加する必要があります。

function AddSearch(data, status, xhr) {
        // you can access your properties from data
        alert(data.Name);
}
于 2012-09-20T15:02:50.070 に答える
0

これが私のやり方です...モデルのリストにアクセスし、JavaScriptでJSONに変換しました。

var JsonServerList = <%= new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(@Model.ServerList) %>;

ここで、ServerList [i] .servernameと言うと、値が取得されます。

于 2012-09-20T14:26:38.350 に答える
0

あなたはこのようなことを試すことができます:

コントローラ内:

public virtual JsonResult AddSearch()
{
    var data = new { Id = food.Id, Image = food.Image, Name = food.Name};

    return Json(data, JsonRequestBehavior.AllowGet);
}

view / javascriptセクション:

function AddSearch() {

    $.getJSON("@url.Action(here_goes_your_actionname)", { parameters }, function (data) {

        alert(data);

    });
}

お役に立てれば。

于 2012-09-20T14:30:32.560 に答える
0

AjaxOption " UpdateTargetId "には、応答が追加されるもう1つのプロパティがあります。あなたのビューのように

<div id="tagetId">
</div>

     @using (Ajax.BeginForm("AddSearch", "Home", new AjaxOptions { OnSuccess = "AddSearch", UpdateTargetId = "tagetId" }))
     {

     } 

コントローラ内

public Actionresult  AddSearch()
{
    var data = new { Id = food.Id, Image = food.Image, Name = food.Name};

    return data;
}

結果は「targertId」に追加されます。

于 2012-09-20T15:05:49.960 に答える