将字符串作为javascript函数参数从控制器传递到局部视图

将字符串作为javascript函数参数从控制器传递到局部视图,javascript,asp.net-mvc,razor,Javascript,Asp.net Mvc,Razor,我有一个控制器 public ActionResult controller(){ Viewclass view = new Viewclass(); ... return PartialView("Tab", view); } 公共行动结果控制器(){ Viewclass视图=新的Viewclass(); ... 返回部分视图(“选项卡”,视图); } 其中视图类类似,字符串A和B是我编译的JSON字符串 public class ViewClass {public string A {g

我有一个控制器

public ActionResult controller(){ Viewclass view = new Viewclass(); ... return PartialView("Tab", view); } 公共行动结果控制器(){ Viewclass视图=新的Viewclass(); ... 返回部分视图(“选项卡”,视图); } 其中视图类类似,字符串A和B是我编译的JSON字符串

public class ViewClass {public string A {get;set;} public string B {get;set;} } 公共类视图类 {公共字符串A{get;set;} 公共字符串B{get;set;} } 在局部视图中,我想这样做

<script type="text/javascript">
RunMap( @Model.A, @Model.B);
</script>

RunMap(@Model.A、@Model.B);
问题是函数中的“被解析为”,如{quotCity":}。我如何解决这个问题?

这应该可以工作:
RunMap(“@Model.A”,“@Model.B”);

如果要将它们作为JSON对象传递,请去掉引号。

这应该可以:
RunMap(“@Model.A”,“@Model.B”);


如果要将它们作为JSON对象传递,请去掉引号。

使用
@Html.Raw
将字符串视为原始Html(例如,MVC不会对其进行编码)


RunMap(@Html.Raw(Model.A),@Html.Raw(Model.B));

当然,您需要确保输入(例如数据)得到仔细处理。

使用
@Html.Raw
将字符串视为原始Html(例如MVC不会对其进行编码)


RunMap(@Html.Raw(Model.A),@Html.Raw(Model.B));

当然,您需要确保它仔细处理输入(例如数据)。

我得到了类似于{“Cities”:[{&q….64635201372,“Cities”:0})在结果中,您是如何创建JSON字符串的?也许您可以使用
JsonValueProviderFactory
并将您的道具声明为
JSON
。下面是一篇相关文章:我使用了StringBuilder并创建了自己的(因为我需要添加一些逻辑,请查看我的ViewClass)。如何正确声明返回类型以避免此问题?我得到了类似{“Cities”:[{&q..64635201372,“Cities”:0})在结果中,您是如何创建JSON字符串的?也许您可以使用
JsonValueProviderFactory
并将您的道具声明为
JSON
。下面是一篇相关文章:我使用了StringBuilder并创建了自己的(因为我需要添加一些逻辑,请查看我的ViewClass)。如何正确声明返回类型以避免此问题?
<script type="text/javascript">
   RunMap(@Html.Raw(Model.A), @Html.Raw(Model.B));
</script>