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 に答える