0

jsファイルに2ボタン用の2つの関数があります。私がしようとしたとき:

 return Json("_ThanksForLogin");

jsファイルには移動せず、ajaxの成功には移動しません。ボタンをクリックすると、ダイアログボックスに「_ThanksForLogin」という文字列が表示されます。私は何をすべきか?

私の機能:

 $(function () {
    $("#loginBtn").click(function () {


        var user = getUser();

        // poor man's validation
        if (user.Username == null) {
            alert("please enter username.");
            return;
        }
        if (user.Password == null) {
            alert("please enter password.");
            return;
        }

        var json = $.toJSON(user);
        $.ajax({
            url: '/Members/MemberLoginPartial/LoginUser',
            type: 'POST',
            dataType: 'json',
            data: json,
            contentType: 'application/json; charset=utf-8',
            success:
                     function (address) {

                         $("#resultMessage").load(address);
                         setTimeout(function () { $("#resultMessage").dialog("close") }, 1000);
                         location.href = "/Members/Members/Index";
                     },
            close: function (event, ui) {
                location.href = "/Members/Members/Index"
            }
        });

    });
});

この部分に動作中のreturnjson ()によって、「_ThanksForLogin」部分ビューのアドレスを送信したいと思います。

 success:
           function (address) {

             $("#resultMessage").load(address);
             setTimeout(function () { $("#resultMessage").dialog("close") }, 1000);
             location.href = "/Members/Members/Index";
          },

その後、ダイアログは自動的に閉じ、ユーザープロファイルにリダイレクトされます。助けてくれてありがとう...

4

1 に答える 1

1

Json()htmlではなくJSONを返すことになっています。必要なのは

return PartialView(_ThanksForLogin)

これにより、PartialView名前付きの「_ThanksForLogin」が返されます。

于 2012-11-26T10:22:37.960 に答える