【发布时间】:2010-12-10 10:30:00
【问题描述】:
大家早上好,
我确定这是给我的,但我不知道这个问题是从哪里来的。
我在一个视图中有以下几行:
<fieldset>
<dl>
<dt>
<label for="FormTypes">Form Type:</label>
</dt>
<dd>
<% =Html.DropDownList("FormTypes", "All") %>
</dd>
</dl>
</fieldset>
<fieldset>
<dl>
<dt>
<label for="Parts">Form Part:</label>
</dt>
<dd>
<% =Html.DropDownList("Parts", "All") %>
</dd>
</dl>
</fieldset>
这不会导致任何问题,但是在将以下脚本添加到顶部以根据表单类型的选择更新部件时(按照这个 SO 问题的答案Bind DropDownlists with JQuery in Asp.Net)
<script type="text/javascript">
<!--
$('#FormTypes').change(function() {
var val = $(this).val();
$parts = $('#Parts');
$.ajax({
url: '<%= Url.Action('FormParts') %>',
dataType: 'json',
data: { ID: val },
success: function(parts) {
$.each(parts, function(i, part) {
$parts.append('option value="' + part.ID+ '">' + part.Code + '</option>');
});
},
error: function() {
alert('Failed to retrieve parts list.');
}
});
});
//-->
</script>
(FormParts 操作将返回一个新对象以填充部件下拉列表)
我收到消息:字符文字中的字符过多行
<% =Html.DropDownList("Types") %>
这个问题似乎是由添加的 javascript 引起的,但为什么以及为什么错误出现在标记中先前良好的代码行而不是脚本中?
提前致谢。
【问题讨论】:
标签: asp.net javascript asp.net-mvc asp.net-ajax