我需要使用服务器端变量在视图上调用jquery函数, 变量在viewbag中设置,不对变量值进行编码。
例如:
ViewBag.innerTitle = "<div id='title45'>My Title</div>"; //C#
$(function(){ alert(ViewBag.Title) }); // Js can I Access it
答案 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.