私は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;
}
}