0

私はMVC3アプリを持っています。チェックボックスのonclickメソッドからajax経由でコントローラーを呼び出しています。クリック後、Telerik グリッドを更新しています。Chrome と Firefox では、これは正常に機能します。IE9 では、2 回のクリックで機能し、その後停止します。調子はどう?コードは次のとおりです。

コードを表示:

<input type="checkbox" name="archived" onclick="javascript:ShowArchivedClicked();" id="archived" value="Archived" style="vertical-align:middle;" @{ if ((bool)Session[Const.ArchivedAttribute]) { <text>checked="checked"</text> } } /><span style="padding: 0 10px 0 0;"> Include archived records</span>


    function ShowArchivedClicked() {
        $.ajax({
            url: '@Url.Action("SetShowArchived", "Home")',
            type: "GET",
            async: false,
            success: function () {
                var summaryGrid = $("#SummaryGrid").data("tGrid");
                summaryGrid.rebind();
            },
            data: { showArchivedItems: $("#archived").is(":checked") }
        });
    }

コントローラーコード:

        [HttpGet]
        public void SetShowArchived(bool showArchivedItems)
        {
            ShowArchivedItems = showArchivedItems;
        }



        private bool ShowArchivedItems
        {
            get
            {
                return Session[Const.ArchivedAttribute] == null ? false : (bool)Session[Const.ArchivedAttribute];
            }
            set
            {
                Session[Const.ArchivedAttribute] = value;
            }
        }
4

2 に答える 2

1

この行を ajax 呼び出しに追加すると、うまくいきました。

cache: false,
于 2012-08-28T19:42:23.667 に答える
0

を削除javascript:しますonclick

すべてonclickがすでにJavaScriptです...これが役立つかどうかを確認してください。そうでない場合は、コメントを投稿してください;)

于 2012-08-27T20:56:34.457 に答える