C# 如何在常规方法中检查单击的按钮?

C# 如何在常规方法中检查单击的按钮?,c#,C#,我已经试过了 public partial class PaymentSearch : System.Web.UI.Page { private bool button1WasClicked = false; protected void linkToday_Click(object sender, EventArgs e) { button1WasClicked = true; } protected void ddlRecordPayment_

我已经试过了

public partial class PaymentSearch : System.Web.UI.Page
{
   private bool button1WasClicked = false;


   protected void linkToday_Click(object sender, EventArgs e)
   {
      button1WasClicked = true;
    }

  protected void ddlRecordPayment_SelectedIndexChanged(object sender, EventArgs e)
  {
  gridAllPaymentBind(1);
  }
   public void gridAllPaymentBind(int pageIndex)
   {
   if (button1WasClicked == true)
  {
   result = 3;
    command.Parameters.AddWithValue("@result", result);
   }

 }

但在“gridAllPaymentBind”methode中,Button1被单击“获取错误值”,在下拉列表更改事件触发之前,我已单击链接按钮。

ASP.NET本质上是无状态的,因此变量值不会在回发之间持续存在。因此,要使其持久化,可以使用会话或ViewState

试试下面的

protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack == true)
            {
                Session["button1WasClicked "] = false;
}
}


   protected void linkToday_Click(object sender, EventArgs e)
   {
       Session["button1WasClicked "] = true;
    }

  protected void ddlRecordPayment_SelectedIndexChanged(object sender, EventArgs e)
  {
  gridAllPaymentBind(1);
  }
   public void gridAllPaymentBind(int pageIndex)
   {
bool button1WasClicked = (bool)Session["button1WasClicked "];
   if (button1WasClicked == true)
  {
   result = 3;
    command.Parameters.AddWithValue("@result", result);
   }

 }

希望这将对您有所帮助。祝您好运。

最好在会话中输入该布尔值。您是否检查了linkToday\u Click方法在单击时是否被调用?put private bool button1WasClicked=false;在Page.IsPostPack检查中,每当页面回发时,该值再次更改为false
protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack == true)
            {
                Session["button1WasClicked "] = false;
}
}


   protected void linkToday_Click(object sender, EventArgs e)
   {
       Session["button1WasClicked "] = true;
    }

  protected void ddlRecordPayment_SelectedIndexChanged(object sender, EventArgs e)
  {
  gridAllPaymentBind(1);
  }
   public void gridAllPaymentBind(int pageIndex)
   {
bool button1WasClicked = (bool)Session["button1WasClicked "];
   if (button1WasClicked == true)
  {
   result = 3;
    command.Parameters.AddWithValue("@result", result);
   }

 }