我要将一个本地javascript变量设置为html帮助器的输出。有关示例,请参阅以下代码段:
<script type="text/javascript">
$(function () {
var dtypes = '@Html.DropDownList("TypeId",new SelectList(@ViewBag.MyTypes,"Value","Text"))';
});
alert(dtypes);
</script>
这不会给我提醒。难道我做错了什么? 谢谢你的帮助。
答案 0 :(得分:1)
您应该将您的html编码为有效的JavaScript字符串:
<script type="text/javascript">
$(function () {
var dtypes = '@Ajax.JavaScriptStringEncode(Html.DropDownList("TypeId",new SelectList(@ViewBag.MyTypes,"Value","Text")))';
});
alert(dtypes);
</script>
答案 1 :(得分:0)
您只需在引号前的字符串中使用@Ajax.JavaScriptStringEncode("")
和\
。
您的代码将是:
var dtypes = '@Ajax.JavaScriptStringEncode("Html.DropDownList(\"TypeId\",
new SelectList(@ViewBag.MyTypes,\"Value\",\"Text\"))")';
答案 2 :(得分:0)
用@ Ajax.JavascriptStringEncode()编码你的html帮助器;并且不要忘记将Html.DropDownList Helper转换为.ToString()的字符串。
以下是一个例子:
<script type="text/javascript">
$(function () {
var dtypes = '@Ajax.JavaScriptStringEncode(Html.DropDownList("TypeId",new SelectList(@ViewBag.MyTypes,"Value","Text")).ToString())';
});
alert(dtypes);
</script>