2

我定义了以下下拉列表 -

@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>

每次我更改下拉菜单中的选择时,它都会第一次正确进入控制器。如果我再次选择相同的选项,则永远不会输入我的控制器操作。

有谁知道为什么我的代码没有命中控制器以进行任何后续的下拉选择。

谢谢

编辑 -

这是 div 部分的内容 - 它实际上呈现了一个 mvc 部分视图 -

<div id="partial" style="height:  90%">
        @Html.Partial("_Activities")    
</div>
4

1 回答 1

1

对我来说似乎是一个缓存问题。对于数据类型 HTML,JQuery Ajax 中的缓存默认为 true,请将其设置为 false。试试这个:

 $.ajax({
                url: 'Controller/Action/',
                data: {
                    'id': myid
                },
                datatype: 'html',
                cache: false,
                success: function (result) { success(result); }
            });
于 2012-09-19T02:14:22.923 回答