将 razor 对象传递给 javascript 函数

Passing a razor object to a javascript function

本文关键字:javascript 函数 razor 对象      更新时间:2023-09-26

我有我的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将该对象传递给控制器操作。

这是我调用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>