JavaScript onclick工作两次,然后在IE 9中停止

时间:2012-08-27 20:55:31

标签: javascript asp.net-mvc-3 internet-explorer-9

我有一个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;
            }
        }

2 个答案:

答案 0 :(得分:1)

将此行添加到ajax调用中可以解决问题:

cache: false,

答案 1 :(得分:0)

javascript:

中删除onclick

所有onclick已经是javascript了...请查看这是否有帮助,如果没有,请发表评论;)