如何避免文本框回发时页面闪烁?在 Asp.Net 中我们使用 c#

问题描述 投票:0回答:1

具有 AutoPostBack = true 的多个文本框并具有要计算的 Poastback 方法

现在每个文本框都会粘贴回页面并重新加载整个页面 我们也在使用更新面板。

请协助如何防止回传时重新加载或闪烁。

非常感谢你

我尝试在每次回发时更新更新面板,但它不起作用。\

c# asp.net .net
1个回答
0
投票

首先,如果您提供一些示例标记,将会对这里的读者有所帮助。

作为一般规则,放置在更新面板中的文本框不应导致整页回发。确保您使用的是 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}";
    }

因此,只要文本框位于更新面板内,那么您就不应该遇到整页回发。

上述代码可以正常工作。

因此,您需要发布一个最小且可重复的示例。换句话说,创建一个全新的测试页面,并使用最少量的标记和代码,发布一个不起作用的示例。

© www.soinside.com 2019 - 2024. All rights reserved.