我刚刚开始在stackoverflow,作为至少... 我很感激你对我遇到的有关AJAX的一些问题的帮助。 首先,我在工作之前实现了AJAX,但只在基本的东西上实现,例如通过button_onclick刷新的UpdatePanel。但现在我需要实现多个UpdatePanel,它们通过多种方式刷新。多个更新面板
我简化了我的HTML代码,但基本上它看起来像:
<script type="text/javascript">
function mostrarDatosSolicitante() {
var nroDoc = document.getElementById('<%=txtDocumento.ClientID%>').value;
if (nroDoc != "") {
__doPostBack('<%=up1.ClientID%>', '');
}
}
</script>
<table>
<tr>
<td>
<b>Documento </b>
</td>
<td>
<asp:TextBox runat="server" id="txtDoc"
onblur="mostrarDatosSolicitante()"/>
</td>
<td>
<asp:Button runat="server" id="btnConfirmar"
Text="Confirmar" />
</td>
</tr>
</table>
<asp:ScriptManager ID="ScriptManager1" runat="server"
EnablePartialRendering="True" />
<asp:UpdatePanel ID="up1" runat="server"
OnLoad="refreshUP1" UpdateMode="Conditional">
<ContentTemplate>
<!--some stuff-->
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="up2" runat="server"
OnLoad="refreshUP2" UpdateMode="Conditional">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnConfirmar" />
</Triggers>
<ContentTemplate>
<!--some stuff 2-->
<asp:UpdatePanel ID="up3" runat="server"
OnLoad="refreshUP3" UpdateMode="Conditional">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="ddlTipoConvInt" />
</Triggers>
<ContentTemplate>
<!--some stuff 3-->
</ContentTemplate>
</asp:UpdatePanel>
</ContentTemplate>
</asp:UpdatePanel>
</div>
而且我后面的代码看起来像:
protected void refreshUP1(object sender, EventArgs e)
{
//do something
}
protected void refreshUP2(object sender, EventArgs e)
{
//do something
}
protected void refreshUP3(object sender, EventArgs e)
{
//do something
}
,我需要解决的问题是,当我离开文本框,那么JavaScript会触发刷新updatepanel up1触发方法'refreshUP1'。但在我的情况下,所有的更新面板正在刷新,至少方法'refreshUP2'和'refreshUP3'运行,导致不希望的行为...
任何方法将受到欢迎!