[英]How to get object sender?
單擊按鈕時,我正在嘗試發送object sender
。
以前,我的事件點擊不會觸發,但現在它使我的代碼如下:
public partial class Dashboard : System.Web.UI.Page
{
static bool enable = false;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DynamicButton();
}
else if(enable)
{
DynamicButton();
}
}
這是更改DynamicButton
並啟動所有操作的事件:
protected void DButton(object sender, EventArgs e)
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "Pop", "showAndHide();", true);
enable = true;
DynamicButton();
}
這是我開始創建動態按鈕的地方:
protected void DynamicButton()
{
List.ListUsers listArea = new List.ListUsers();
List<Data.Area> Area = listArea.AreaList();
List<Data.Area> ListOfEquiposOk = Area.Where(x => x.AREA == "ENG" && x.STANDBY == 0).ToList();
var TeamFCH = ListOfEquiposOk.Select(x => x.TEAM).Distinct().ToList();
foreach (var team in TeamFCH)
{
LinkButton newButton = new LinkButton();
newButton.CommandName = "Btn" + Convert.ToString(team);
newButton.ID = "Btn_" + Convert.ToString(team);
newButton.Text = team;
newButton.CommandArgument = "ENG";
newButton.Click += new EventHandler(newButton_Click);
pan1.Controls.Add(newButton);
newButton.CssClass = "btn-primary outline separate";
}
}
這是創建的按鈕開始其事件的位置
protected void newButton_Click(object sender, EventArgs e)
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "Pop", "ModalGood();", true);
List.ListUsers listArea = new List.ListUsers();
List<Data.Area> Area = listArea.AreaList();
List<Data.Area> ListOfToolsOk = Area.Where(x => x.AREA == "ENG" && x.TEAM == "516" && x.STANDBY == 0).ToList();
var ToolArea = ListOfToolsOk.Select(x => x.TEAM);
Grv_Eng.DataSource = ListOfToolsOk;
Grv_Eng.DataBind();
}
我的問題是
如何獲取DButton
的事件sender
以發送到DynamicButton進行更改?
我的意思是:
Button Btn_clic = (Button)sender;
var name = Btn_clic.Text;
我需要DButton
的事件發送者來更改此設置
List<Data.Area> ListOfEquiposOk = Area.Where(x => x.AREA == CHANGE THIS -> "ENG" && x.STANDBY == 0).ToList();
newButton.CommandArgument = CHANGE THIS -> "ENG";
這些來自DynamicButton
以及如何獲取創建的動態按鈕的事件sender
,以及如何從DButton獲取事件並將其發送到NewButton_Click
?
我也是
Button Btnclick = (Button)sender;
var team = Btnclick.Text;
string name = Btnclick.CommandArgument;
並更改來自newButton_Click
此newButton_Click
:
List<Data.Area> ListOfToolsOk = Area.Where(x => x.AREA == CHANGE THIS -> "ENG" && x.TEAM == CHANGE THIS -> "516" && x.STANDBY == 0).ToList();
我仍在努力解決您的問題。 但是我確實讓您的活動上班了。 請告訴我是否有幫助,我會繼續提供幫助。 在newButton_Click的開頭放置一個斷點,看看它現在在這里斷了。 到目前為止,已記入互聯網帖子。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace List
{
public class ListUsers
{
public List<Data.Area> AreaList()
{
var list = new List<Data.Area>();
Data.Area area1 = new Data.Area { AREA = "ENG", STANDBY = 0, TEAM = "team1" };
Data.Area area2 = new Data.Area { AREA = "ENG", STANDBY = 0, TEAM = "team2" };
Data.Area area3 = new Data.Area { AREA = "area3", STANDBY = 3, TEAM = "team3" };
list.Add(area1);
list.Add(area2);
list.Add(area3);
return list;
}
}
}
namespace Data
{
public class Area
{
public string AREA { get; set; }
public int STANDBY { get; set; }
public string TEAM { get; set; }
}
}
namespace WebApplication1
{
public partial class Dashboard : System.Web.UI.Page
{
//BTW static variable are shared across multiple users of your web site
static bool enable = false;
override protected void OnInit(EventArgs e)
{
//NEED TO set event listener in oninit everytime
DynamicButton();
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//DynamicButton();
}
else if (enable)
{
//DynamicButton();
}
}
protected void DynamicButton()
{
List.ListUsers listArea = new List.ListUsers();
List<Data.Area> Area = listArea.AreaList();
List<Data.Area> ListOfEquiposOk = Area.Where(x => x.AREA == "ENG" && x.STANDBY == 0).ToList();
var TeamFCH = ListOfEquiposOk.Select(x => x.TEAM).Distinct().ToList();
foreach (var team in TeamFCH)
{
LinkButton newButton = new LinkButton();
newButton.CommandName = "Btn" + Convert.ToString(team);
newButton.ID = "Btn_" + Convert.ToString(team);
newButton.Text = team;
newButton.CommandArgument = "ENG";
newButton.Click += new EventHandler(newButton_Click);
pan1.Controls.Add(newButton);
newButton.CssClass = "btn-primary outline separate";
}
}
public void newButton_Click(object sender, EventArgs e)
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "Pop", "ModalGood();", true);
List.ListUsers listArea = new List.ListUsers();
List<Data.Area> Area = listArea.AreaList();
List<Data.Area> ListOfToolsOk = Area.Where(x => x.AREA == "ENG" && x.TEAM == "516" && x.STANDBY == 0).ToList();
var ToolArea = ListOfToolsOk.Select(x => x.TEAM);
Grv_Eng.DataSource = ListOfToolsOk;
Grv_Eng.DataBind();
}
protected void DButton(object sender, EventArgs e)
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "Pop", "showAndHide();", true);
enable = true;
DynamicButton();
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.