我需要在视图上调用一个 jquery 函数,使用服务器端变量,该变量在 viewbag 中设置,而不对变量值进行编码。
例如。:
ViewBag.innerTitle = "<div id='title45'>My Title</div>"; //C#
$(function(){ alert(ViewBag.Title) }); // Js can I Access it
我需要在视图上调用一个 jquery 函数,使用服务器端变量,该变量在 viewbag 中设置,而不对变量值进行编码。
例如。:
ViewBag.innerTitle = "<div id='title45'>My Title</div>"; //C#
$(function(){ alert(ViewBag.Title) }); // Js can I Access it
就个人而言,对于那种类型的内容,我会将 html 写入页面,并且只使用 jQuery,即
alert($('#title45').text());
然后 js 是固定的,非常适合用于单独下载和缓存的静态 .js 文件。
如果一定要写动态js:
alert('@Html.Raw(HttpUtility.JavaScriptStringEncode(ViewBag.Title))');
但我会对单引号和双引号感到紧张。
如果您使用剃须刀:
只需在您的js中:
<script>$(function(){ alert(' @Html.Raw(ViewBag.Title) ') });</script>
@Html.Raw : output the markup w/o encoding it.