2011-04-11 49 views
0

如何在asp.net按钮上通过javaScript暂停回发过程,并在某些任务完成后继续?我可以在asp.net按钮上暂停回发,并在某些任务完成后继续吗?

喜欢的东西:

btnRemove.Attributes["onclick"] = string.Format(@" 

var itemId=$.trim($('#{0}').val());        

// stopPostBack() somehow 

// do some stuff with itemId 

// continue post-back 

", txtMyTextBox.ClientId); 
+0

取决于 - 你想用'itemId'做什么? – 2011-04-11 11:57:27

+0

其实我的问题是,选择速度足够慢,无法处理;以便在选择相关文本框之前进行回发。 (我删除了String.Format部分btw) – pencilCake 2011-04-11 11:59:10

+0

什么选择?什么文本框?仍然不清楚,对不起..:/ – 2011-04-11 12:03:50

回答

0

是的,我想了一招,你可以做到这一点。

只需返回false,以避免回发,初始化一个计时器来调用下一个函数来完成工作,并在最后手动启动回发。

0

是的,你只需要从javascript onclick事件返回false。

如:

<asp:LinkButton ID="btnDelete" runat="server" 
               CommandArgument='<%# DataBinder.Eval(Container,&#13;&#10;"RowIndex") %>' 
               CommandName="Delete" Text="Delete" 
               onclientclick="return confirm('Are you sure you want to delete this Connection?');" 
               ToolTip="Delete the connection" /> 
2

所有的onClick()事件代码提交前处理。如果onClick事件处理程序返回false,则该事件将执行代码,然后无法提交。如果它返回true,它将执行代码,然后提交。

我不认为你需要“停止”回传。只需在返回true之前放置所需的代码,并在提交之前执行。

例子:

btnRemove.Attributes["onclick"] = @" 

var itemId=$.trim($('#{0}').val()); 

alert(itemId); 

return true; 

"; 

这里的alert()将提交之前执行。

+0

+1这也是正确的。 – Aristos 2011-04-11 12:04:46

相关问题