我有一個更新面板內的gridview與GridView的第一列中的複選框。當我第一次創建它時,它運行良好。該複選框被設置爲AutoPostBack,並導致異步回發,我可以在其中處理數據並刷新gridview,而不會影響頁面的其餘部分。防止從gridview與javascript異步回發
但是,我需要測試的頁面,客戶端在一定條件下,並顯示一個確認框,用戶,說「這個人是不是就此成立。你確定你要繼續嗎?'
我這樣做,最初,通過在GridView的RowDataBound事件中加入一些類似的代碼;
CheckBox cb = (CheckBox)e.Row.FindControl("myCheckBox");
cb.Attributes.Add("onclick", "return check('" + ContactName + "');");
與此前的線沿線的一個JavaScript函數:
function check(ContactName)
{
if (document.getElementById('Listed') == false)
{
if (confirm('This person is not listed, are you sure you want to continue?'))
{
return true;
}
return false;
}
}
請忽略上面的代碼錯別字,如果從內存中剛剛輸入。事情是,它的工作。如果我的本地變量Listed是false,它會拋出確認框沒問題。
問題是,如果您在確認框中選擇「確定」,複選框生成的回發(應該是異步的,因爲它位於具有ChildrenAsTriggers = true的更新面板內)將被取消。在JavaScript確認後,我必須調用__doPostback才能使Postback發生。但是,然後,我得到一個完整的回發,而不是我想要的異步回發。
所以,我的問題是,如何防止從javascript複選框的異步回發確認,以便如果在javascript確認中選擇Okay,則會發生異步回發。
正如我說的,此刻,我能得到它的工作的唯一方法是做一個全面的回傳用戶點擊後好。