1

私は MVC 5 アプリに取り組んでおり、jQuery ajax 関数を使用して、モデル データを使用して別の部分ビューで partialView をレンダリングしたいと考えています。javaScript 関数が呼び出されると、選択した要素の ID を正常に動作しているコントローラーに送り返し、次のコードから動作していないモデルと共に部分ビューを表示することを想定しています。

<td>
   <a href="#" class="SearchUser_Icon Hyperlink_Text" onclick="load_getUserListByGroupID(this)" id=@item.GroupID></a>
</td>

.

JavaScript 関数

function load_getUserListByGroupID(element)
{
    var selectedGroupID = element.id;

    alert(selectedGroupID);

    $.ajax({
        type: "POST",
        url: "/UserManagement/SearchUsersByGroupID/",
        dataType: "json",
        data: { 'GroupID': selectedGroupID },
        success: function (viewHTML) {
            alert("success");
            $("#userContentBlock").html(viewHTML);
        },
        error: function (errorData) { onError(errorData); }
    }).done(function (result) {
        alert("done!");
    });
}

.

<div id="userContentBlock"></div>

コントローラーの方法

[HttpPost]
    public ActionResult SearchUsersByGroupID(string GroupID)
    {

        int intID = Convert.ToInt32(GroupID);

        var UsersListByGroupID = _userServices.GetUsersByGroupID(intID);

        return PartialView("GetUsersListByGroup_Partial", UsersListByGroupID );
    }
4

1 に答える 1

1

ajax 呼び出しで JSON を期待しているときに、HTML を返しています。設定からを削除するだけdataType: "json"で、すべてが期待どおりに機能するはずです。

jQuery.ajax() データタイプ:

サーバーから返されることを期待しているデータのタイプ。何も指定されていない場合、jQuery は応答の MIME タイプに基づいて推測しようとします。

于 2015-05-25T14:15:50.820 に答える