简体   繁体   English

为什么在ASP.NET中使用AJAX后我的按钮代码不起作用?

[英]Why my button code doesn't work after using AJAX in ASP.NET?

I have a button in asp.net to clear textboxes and I used ajax as below: 我在asp.net中有一个按钮可以清除文本框,并且按如下方式使用ajax:

<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Button ID="Button2" runat="server" Font-Bold="False" Font-Names="Tahoma" Font-Size="16px" ForeColor="DarkRed" Height="40px" OnClick="Button2_Click" Text="Clear Form" Width="165px" />
</ContentTemplate>
</asp:UpdatePanel>

As well, this button has following C# code: 同样,此按钮具有以下C#代码:

protected void Button2_Click(object sender, EventArgs e)
    {
        txtFirstName.Text = string.Empty;
        txtLastName.Text = string.Empty;
        txtEmail.Text = string.Empty;
        txtSubject.Text = string.Empty;
        txtMessage.Text = string.Empty;
    }

However, foregoing C# code doesn't work when I execute this program!; 但是,当我执行该程序时,前面的C#代码不起作用! In other words, textboxes don't clear after I click on button! 换句话说,单击按钮后文本框不会清除! Please tell me why it happens?! 请告诉我为什么会发生?!

You need to modify your updatepanel.Kindly place all your Label and TextBox Control inside Update Panel and Button Events outside your UpdatePanel and add Trigger of your button ID. 您需要修改updatepanel,请将所有Label和TextBox控件放置在UpdatePanel中的Update Panel和Button Events中,并添加Button ID的Trigger。

AsyncPostBackTrigger or PostBackTrigger AsyncPostBackTrigger或PostBackTrigger

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
  // HERE  YOUR TEXTBOX AND LABEL CONTROLS 
</ContentTemplate>
 <Triggers>
      <asp:AsyncPostBackTrigger ControlID="Button2"
  </Triggers>
</asp:UpdatePanel>
<asp:Button ID="Button2" runat="server" Font-Bold="False" Font-Names="Tahoma" Font-Size="16px" ForeColor="DarkRed" Height="40px" OnClick="Button2_Click" Text="Clear Form" Width="165px" />

You should place the Textboxes inside update panel as 您应该将“文本框”放置在“更新”面板中为

 <asp:ScriptManager ID="ScriptManager1" runat="server">
            </asp:ScriptManager>
            <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                <ContentTemplate>
                    <asp:TextBox ID="txtFirstName" runat="server"></asp:TextBox>
                    <asp:TextBox ID="txtLastName" runat="server"></asp:TextBox>
                    <asp:TextBox ID="txtEmail" runat="server"></asp:TextBox>
                    <asp:TextBox ID="txtSubject" runat="server"></asp:TextBox>
                    <asp:TextBox ID="txtMessage" runat="server"></asp:TextBox>

                    <asp:Button ID="Button2" runat="server" Font-Bold="False" Font-Names="Tahoma" Font-Size="16px" ForeColor="DarkRed" Height="40px" OnClick="Button2_Click" Text="Clear Form" Width="165px" />
                </ContentTemplate>
            </asp:UpdatePanel>

I have tried and the button code is working .aspx code 我已经尝试过并且按钮代码正在工作.aspx代码

<div>
     <asp:ScriptManager ID="ScriptManager1" runat="server">
            </asp:ScriptManager>
            <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                <ContentTemplate>
                    <asp:TextBox ID="txtFirstName" runat="server"></asp:TextBox>
                    <asp:TextBox ID="txtLastName" runat="server"></asp:TextBox>
                    <asp:TextBox ID="txtEmail" runat="server"></asp:TextBox>
                    <asp:TextBox ID="txtSubject" runat="server"></asp:TextBox>
                    <asp:TextBox ID="txtMessage" runat="server"></asp:TextBox>


                    <asp:Button ID="Button2" runat="server" Font-Bold="False" Font-Names="Tahoma" Font-Size="16px" ForeColor="DarkRed" Height="40px" OnClick="Button2_Click" Text="Clear Form" Width="165px" />
                </ContentTemplate>
            </asp:UpdatePanel>
    </div>

.aspx.cs page coding .aspx.cs页面编码

protected void Button2_Click(object sender, EventArgs e)
        {
            txtFirstName.Text = string.Empty;
            txtLastName.Text = string.Empty;
            txtEmail.Text = string.Empty;
            txtSubject.Text = string.Empty;
            txtMessage.Text = string.Empty;
        }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM