我定义了以下下拉列表 -
@Html.DropDownListFor(x => x.SelectedValue, Model.myEntity, new { @id = "ddList" })
使用以下 jquery -
<script type="text/javascript">
$(document).ready(function () {
$("#ddList").change(function () {
var myid = $("#ddList").val();
$.ajax({
url: 'Controller/Action/',
data: {
'id': myid
},
datatype: 'html',
success: function (result) { success(result); }
});
});
});
function success(result) {
$("#partial").html(result);
}
</script>
每次我更改下拉列表中的选择时,它都会第一次正确进入 Controller 。 如果我第二次选择相同的选项,我的 Controller 操作将永远不会输入。
有谁知道为什么我的代码没有命中 Controller 以进行任何后续的下拉选择。
谢谢
编辑-
这是 div 部分的内容 - 它实际上渲染了一个 mvc 部分 View -
<div id="partial" style="height: 90%">
@Html.Partial("_Activities")
</div>
最佳答案
对我来说似乎是一个缓存问题。在 JQuery Ajax 中,对于数据类型 HTML,缓存默认为 true,将其设置为 false。试试这个:
$.ajax({
url: 'Controller/Action/',
data: {
'id': myid
},
datatype: 'html',
cache: false,
success: function (result) { success(result); }
});
关于jquery - mvc3 dropdownlist 仅在每个项目的第一次更改时进入 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12487056/