javascript - 将 razor 对象传递给 javascript 函数

标签 javascript asp.net-mvc-3 razor

我有我的 JS 函数:

function LoadJs(hostApp) {
    $.ajax({
        type: "POST",
        url: '@Url.Action("LoadJs", "Home")',
        data: { "hostApp": hostApp },
        success: function (Js) {
            Response.Write(Js)   
        }
    });
}

当我在我的 Summary.vbhtml 文件中调用该函数时,我想将它传递给我的 hostApp 对象,然后让 Javascript 将该对象传递给 Controller ​​操作。

这是调用 LoadJs 函数的我的 script 标签:

<script type="text/javascript">    
    LoadJs( @(model)); 
</script>

我已经尝试过 '@model''@(model)'@model,但似乎都无法正确传递.当我通过前两种方式传递它时,它传递了一个字符串,这不是我想要的,如果我尝试最后一种方式或示例中的方式,它会将 @model 转换为正确的对象,但它说它是未定义的。

最佳答案

你可以使用

<script type="text/javascript">    
    LoadJs(@(Html.Raw(new JavaScriptSerializer().Serialize(model))));
</script>

关于javascript - 将 razor 对象传递给 javascript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11903695/

相关文章:

javascript - 数据嵌套时 AngularJs 表排序

c# - 通过 startDate 运行到 endDate 并将每条记录添加到 DB

c# - 如何仅发布 MVC 列表中选定的项目

javascript - 如何在 MVC 中点击时获取 TD 的值

javascript - 如何停止 Razors 自动编码\n?

javascript - 类型错误未定义不是对象

javascript - 如何在 jqGrid 中加载详细网格时禁用主网格 rowSelect?

javascript - 如何处理带有特殊字符的数据目标值?

jQuery 按钮导航到具有路由值的操作 Controller ?

asp.net-mvc-3 - 在 foreach() 和 if() 中分离开始标记和结束标记