доступ к возвращаемому объекту из asp.net в Jquery - PullRequest
1 голос
/ 05 октября 2011

У меня есть функция jquery:

function CheckStatus() {
        $.ajax({
            url: "http://localhost:1111/test.myControl/GetDone",
            type: "GET",
            dataType: "jsonp",
            success: function (data) {
                console.info(data.GetStatusResult);
                if (data.IsDone) {
                    result = true;
                    CheckForFile();
                }
                else
                    result = false;      
            }
        });

    }

здесь функция, которую я вызываю из asp.net mvc3:

public MStatus GetDone()
        {
            ......

            return new MStatus {  IsDone = IsDone, NowDateTime=DateTime.Now};
        }

как вы видите, эта функция возвращает объект MStatus с переменной IsDone. Я пытался проверить значение IsDone, но не смог.

Может кто-нибудь сказать мне, как решить мою проблему?

Ответы [ 3 ]

0 голосов
/ 05 октября 2011

Проверьте, является ли запрос запросом AJAX, и отправьте пакет JSON

var status = new MStatus {  IsDone = IsDone, NowDateTime=DateTime.Now};
if (Request.IsAjaxRequest()) {
  return Json( new { IsDone = status.IsDone, NowDateTime = status.NowDateTime }
              , JsonRequestBehavior.AllowGet);
}else{
  return status;
}
0 голосов
/ 05 октября 2011

Ваш метод должен вернуть ActionResult

public ActionResult GetDone()
{
    ......

    var status = new MStatus { IsDone = IsDone, NowDateTime=DateTime.Now};
    return Json(status, JsonRequestBehavior.AllowGet);
}
0 голосов
/ 05 октября 2011

Попробуйте что-то вроде этого: -

if(data.d.IsDone){ }

Надеюсь, это поможет

РЕДАКТИРОВАТЬ: -

function GetTrainingDetails(id) {
        $('#<%=updProgress.ClientID%>').css("display", "block");
        $.ajax({
            type: "POST",
            url: "/_layouts/TrainingSheet/TrainingSourceBrowse.aspx/GetTrainingDetail",
            data: "{'trainingId': '" + id + "'}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (msg) {
                AjaxSucceeded(msg);
            },
            error: AjaxFailed
        });
    }

    function AjaxSucceeded(result) {
        var res = result.d;

        $('#<%= lblType.ClientID%>').html(res.TrainingType);
        $('#<%= lblOrganizer.ClientID %>').html(res.Organizer);
        $('#<%= lblTrainer.ClientID %>').html(res.Trainer);
        $('#<%= lblLevel.ClientID %>').html(res.Level);
        $('#<%= lblCategory.ClientID %>').html(res.Category);
        $('#pDetails').html(res.Summary);
        $('#headingTitle').html(res.Training);

        $('#<%=updProgress.ClientID %>').css("display", "none");
        $('#divDetails').slideDown("slow");
    }

    function AjaxFailed(result) {
        alert(result.status + ' ' + result.statusText);
        $('#<%=updProgress.ClientID %>').css("display", "none");
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...