MVC4,C#,jQuery的,Razor视图(.cshtml)
我想更新与@ HTML.DropDownList节点的html的():
<script type="text/javascript">
$('#CmpMASttF').html('@Html.DropDownList("CmpAdrsSt.State", (IEnumerable<SelectListItem>)ViewBag._State) @Html.ValidationMessageFor(m => m.CmpAdrsSt.State) ');
</script>
这对于@ HTML.EditorFor正常工作:
$('#CmpMASttF').html('@Html.EditorFor(m => m.CmpAdrsSt.State) @Html.ValidationMessageFor(m => m.CmpAdrsSt.State) ');
这是被更新的节点:
<tr class="CmpMA"><td tate: </td>
<td colspan="4" ><span id="CmpMASttF" class="editor-field"></span> </td></tr>
该@ HTML.DropDownList代码很好地独立工作,这样是不是问题的根源:
<tr><td>State: </td>
<td colspan="4"><span class="editor-field">
@Html.DropDownList("CmpAdrsSt.State", (IEnumerable<SelectListItem>)ViewBag._State)
@Html.ValidationMessageFor(m => m.CmpAdrsSt.State)</span> </td></tr>
当我试着和jQuery的html的()更新与@ HTML.DropDownList节点在JavaScript块中的所有代码被禁用。
我试图编码字符串:
var test = '@Ajax.JavaScriptStringEncode("Html.DropDownList(\"CmpAdrsSt.State\",(IEnumerable<SelectListItem>)ViewBag._State)")'
但是,当注入的.html()它呈现为一个字符串不是HTML DropDownList的帮手(HTML之前添加@,“@ HTML.DropDownList ...,没有区别)。
如何更新与@ HTML.DropDownList节点的html的()?
谢谢