【问题标题】:Button Click Event Won't Return Value to Textbox按钮单击事件不会将值返回到文本框
【发布时间】:2010-10-26 05:22:40
【问题描述】:

我的网络表单上有两个按钮。单击第一个按钮时,该事件不会触发。这是我在 click 事件处理程序中放置的内容:

protected void btnRFC_Click(object sender, EventArgs e)
{
    string strDOB = drpDay.SelectedValue + "/" + drpmonth.SelectedValue + "/" + txtyear.Text;
    string strRFC = CURPRFC.CalcularRFC(txtfirstname.Text, txtmiddlename.Text, txtlastname.Text, strDOB );
    txtrfc.Text = strRFC;
}

需要 strDOB 将日期字段转换为 CalcularRFC 中用于日期值的字符串。第二个按钮的事件处理程序太大而无法发布,但目前按预期工作。但是,上面的处理程序没有向 txtrfc 返回值。有人能指出我正确的方向吗?

谢谢, 席德

【问题讨论】:

  • ASP.NET 网站或 ASP.NET Web 应用程序?

标签: c# asp.net event-handling


【解决方案1】:

这就是你所追求的:

<form id="form1" runat="server">

    <div>
        <asp:Label ID="Message" runat="server" Text=""></asp:Label>
    </div>

    <asp:Button ID="Button1" runat="server" Text="Button 1" OnClick="Button1_Click" /> - 
    <asp:Button ID="Button2" runat="server" Text="Button 2" OnClick="Button2_Click" />

</form>

protected void Button1_Click(object sender, EventArgs e)
{
    this.Message.Text = "Button 1 clicked";
}

protected void Button2_Click(object sender, EventArgs e)
{
    this.Message.Text = "Button 2 clicked";
}

如果您只想要一种方法来处理两次点击,请为 OnClick 提供该方法名称,并通过检查发送者来确定点击的来源。

【讨论】:

    【解决方案2】:

    嗯,首先要检查的是它是否达到了该代码。如果您在事件处理程序中设置断点并在调试器中运行代码,您会遇到断点吗?

    会不会像失踪一样简单

    runat="server"
    

    关于按钮声明?

    【讨论】:

      【解决方案3】:

      将文本框的 AutoPostBack 属性设置为 true

      AutoPostBack="True"
      

      【讨论】:

      • 现在设置为true,还是不行:(
      • 为什么要将 TextBox 上的 AutoPostBack 属性设置为 true?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-11-23
      • 1970-01-01
      • 2013-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多