使用服务器端变量中的值在mvc razor3中注入javascript

时间:2012-08-09 12:35:34

标签: c# asp.net-mvc

我需要使用服务器端变量在视图上调用jquery函数, 变量在viewbag中设置,不对变量值进行编码。

例如:

ViewBag.innerTitle = "<div id='title45'>My Title</div>"; //C#

$(function(){ alert(ViewBag.Title) }); // Js can I Access it

2 个答案:

答案 0 :(得分:4)

就个人而言,我会将html写入页面,并使用jQuery,即

alert($('#title45').text());

然后js被修复,非常适合在单独下载和缓存的静态.js文件中使用。

如果必须将其写入动态js:

alert('@Html.Raw(HttpUtility.JavaScriptStringEncode(ViewBag.Title))');

但我会对单引号和双引号感到紧张。

答案 1 :(得分:0)

如果你正在使用剃须刀:

只需在你的js:

<script>$(function(){ alert(' @Html.Raw(ViewBag.Title) ') });</script>

@Html.Raw : output the markup w/o encoding it.