javascript中的html dropdownlist帮助器

时间:2013-05-15 18:32:32

标签: javascript asp.net-mvc razor html-helper

我要将一个本地javascript变量设置为html帮助器的输出。有关示例,请参阅以下代码段:

<script type="text/javascript">
     $(function () {
              var dtypes = '@Html.DropDownList("TypeId",new SelectList(@ViewBag.MyTypes,"Value","Text"))';
      });
      alert(dtypes);
</script>

这不会给我提醒。难道我做错了什么? 谢谢你的帮助。

3 个答案:

答案 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>