C# 是否将ViewModel数据返回到Javascript函数MVC4?

C# 是否将ViewModel数据返回到Javascript函数MVC4?,c#,javascript,.net,asp.net-mvc,json,C#,Javascript,.net,Asp.net Mvc,Json,我试图将视图模型的数据传递给一个js方法,然后我需要将VM传递给另一个控制器方法来显示数据 以下是我所做的: $(document).ready(function () { var content = GetHomeContent('/Home/CastContent'); if (content) { saveBDContent('/Message/Details/', content); } }); function GetHomeContent

我试图将视图模型的数据传递给一个js方法,然后我需要将VM传递给另一个控制器方法来显示数据

以下是我所做的:

$(document).ready(function () {

    var content = GetHomeContent('/Home/CastContent');
    if (content) {
        saveBDContent('/Message/Details/', content);
    }

});

function GetHomeContent(url) {
    var modelData;
    $.ajax({
        url: url,
        cache: false,
        async: false,
        type: "GET",
        contentType: 'application/json',
        success: function (data) {
            if (data) {
                modelData = data;
            }
        },
        error: function (data) {
            status = false;
        }
    })

   return modelData;
};

function saveBDContent(url, data) {
    var status = false;

    $.ajax({
        url: url,
        cache: false,
        async: false,
        type: "GET",
        data: JSON.stringify(data),
        contentType: 'application/json',
        success: function (data) {
            if (data == "200") {
                status = true;
            }
        },
        error: function (data) {
            status = false;
        }
    })

    return status;
};
我面临的问题是,我从该方法检索到的内容显示了ViewModel的名称空间。当我将其传递给新的控件时,Viewmodel内容为空

我是否需要添加任何内容来获取/传递正确的内容

虚拟方法框架

    public ActionResult CastContent()
    {
        CastVM broadcastVM = new CastVM();


        return Json( broadcastVM);

    }

在控制器中执行类似操作:

编辑>>关联的Javascript代码是:


在控制器中执行类似操作:

编辑>>关联的Javascript代码是:


在控制器中执行类似操作:

编辑>>关联的Javascript代码是:


在控制器中执行类似操作:

编辑>>关联的Javascript代码是:


我在控制器方法中遗漏了JsonRequestBehavior.AllowGet,我添加了它,结果非常完美

public ActionResult CastContent()
    {
        CastVM broadcastVM = new CastVM();


        return Json( broadcastVM,JsonRequestBehavior.AllowGet);

    }

而且我在jquery方法中将HTTP状态设置为post,我在控制器方法中遗漏了JsonRequestBehavior.AllowGet,我添加了,结果非常完美

public ActionResult CastContent()
    {
        CastVM broadcastVM = new CastVM();


        return Json( broadcastVM,JsonRequestBehavior.AllowGet);

    }

而且我在jquery方法中将HTTP状态设置为post,我在控制器方法中遗漏了JsonRequestBehavior.AllowGet,我添加了,结果非常完美

public ActionResult CastContent()
    {
        CastVM broadcastVM = new CastVM();


        return Json( broadcastVM,JsonRequestBehavior.AllowGet);

    }

而且我在jquery方法中将HTTP状态设置为post,我在控制器方法中遗漏了JsonRequestBehavior.AllowGet,我添加了,结果非常完美

public ActionResult CastContent()
    {
        CastVM broadcastVM = new CastVM();


        return Json( broadcastVM,JsonRequestBehavior.AllowGet);

    }

而且我已经在jquery方法中将HTTP状态设置为post

请参见我的编辑。这是一些有效的代码,所以我知道它有效。谢谢Laurent PerrucheJ。正如您所发布的,我已经将Ajax方法类型更改为POST,它正在工作,我们需要添加JsonRequestBehavior.AllowGet。我已经更新了答案。请查看我的编辑。这是一些有效的代码,所以我知道它有效。谢谢Laurent PerrucheJ。正如您所发布的,我已经将Ajax方法类型更改为POST,它正在工作,我们需要添加JsonRequestBehavior.AllowGet。我已经更新了答案。请查看我的编辑。这是一些有效的代码,所以我知道它有效。谢谢Laurent PerrucheJ。正如您所发布的,我已经将Ajax方法类型更改为POST,它正在工作,我们需要添加JsonRequestBehavior.AllowGet。我已经更新了答案。请查看我的编辑。这是一些有效的代码,所以我知道它有效。谢谢Laurent PerrucheJ。正如您所发布的,我已经将Ajax方法类型更改为POST,它正在工作,我们需要添加JsonRequestBehavior.AllowGet。我已经更新了答案。