@Html.DropDownListFor(
model => model.SelectedType,
Model.Types,
new {
onchange = "getSpecificFields(this.value)"
}
)
然后:
<script type="text/javascript">
function getSpecificFields(value) {
$.get('@Url.Action("CreateSpecific", "Employee")', { type: value },
function(data) {
$("#specificFields").replaceWith(data);
}
);
}
</script>
或使用完全不引人注目的javascript:
@Html.DropDownListFor(
model => model.SelectedType,
Model.Types,
new {
id = "myddl",
data_url = Url.Action("CreateSpecific", "Employee")
}
)
,然后在一个完全独立的JavaScript文件:
$(function() {
$('#myddl').change(function() {
var data = { type: $(this).val() };
var url = $(this).data('url');
$.get(url, data, function(result) {
$("#specificFields").replaceWith(result);
});
});
});
得到它,感谢这么很多 – BigBug 2012-04-13 20:26:01
@BlueMonster,请参阅我的第二个更好的选择使用不显眼的JavaScript,这完全避免了你与JavaScript混合的服务器端代码,并允许你将脚本放在一个单独的JavaScript文件中。 – 2012-04-13 20:27:50
如何从下拉列表中进行新选择时更新它?我以为我可以重新加载窗口避免$ .get,但这是行不通的。 – BigBug 2012-04-13 22:13:45