4

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

例如。:

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

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

2 回答 2

4

就个人而言,对于那种类型的内容,我会将 html 写入页面,并且只使用 jQuery,即

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

然后 js 是固定的,非常适合用于单独下载和缓存的静态 .js 文件。

如果一定要写动态js:

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

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

于 2012-08-09T12:39:39.937 回答
0

如果您使用剃须刀:

只需在您的js中:

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

@Html.Raw : output the markup w/o encoding it.
于 2012-08-09T12:38:58.890 回答