我有一个更新面板内的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,则会发生异步回发。
正如我说的,此刻,我能得到它的工作的唯一方法是做一个全面的回传用户点击后好。