具有 AutoPostBack = true 的多个文本框并具有要计算的 Poastback 方法
现在每个文本框都会粘贴回页面并重新加载整个页面 我们也在使用更新面板。
请协助如何防止回传时重新加载或闪烁。
非常感谢你
我尝试在每次回发时更新更新面板,但它不起作用。\
首先,如果您提供一些示例标记,将会对这里的读者有所帮助。
作为一般规则,放置在更新面板中的文本框不应导致整页回发。确保您使用的是 asp.net 文本框。
所以,说出这个标记:
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<div style="padding:35px">
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<div style="float: left">
First Name:
<asp:TextBox ID="txtFirst" runat="server"
OnTextChanged="txtFirst_TextChanged"
AutoPostBack="true">
</asp:TextBox>
</div>
<div style="float: left; margin-left: 20px">
First Name:
<asp:TextBox ID="txtLast" runat="server"
OnTextChanged="txtLast_TextChanged"
AutoPostBack="true">
</asp:TextBox>
</div>
<div style="clear:both"></div>
<h3>Result</h3>
<asp:TextBox ID="txtResult" runat="server"></asp:TextBox>
</ContentTemplate>
</asp:UpdatePanel>
然后是后面的代码:
protected void Page_Load(object sender, EventArgs e)
{
}
protected void txtFirst_TextChanged(object sender, EventArgs e)
{
txtResult.Text = $"{txtFirst.Text} {txtLast.Text}";
}
protected void txtLast_TextChanged(object sender, EventArgs e)
{
txtResult.Text = $"{txtFirst.Text} {txtLast.Text}";
}
因此,只要文本框位于更新面板内,那么您就不应该遇到整页回发。
上述代码可以正常工作。
因此,您需要发布一个最小且可重复的示例。换句话说,创建一个全新的测试页面,并使用最少量的标记和代码,发布一个不起作用的示例。