可以使用JavaScript调用事件点击吗?如何?
我点击按钮时试图调用此事件。
我动态创建按钮,以便ID不断变化
以下是我如何动态制作按钮并指定事件点击
protected void Page_Init(object sender, EventArgs e)
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "Pop", "showAndHide();", true);
Button Btn_clic = (Button)sender;
var name = Btn_clic.Text;
List.ListUsers listArea = new List.ListUsers();
List<Data.Area> Area = listArea.AreaList();
List<Data.Area> ListOfEquiposOk = Area.Where(x => x.AREA == name && x.STANDBY == 0).ToList();
List<Button> Botones = new List<Button>();
var TeamFCH = ListOfEquiposOk.Select(x => x.TEAM).Distinct().ToList();
foreach (var team in TeamFCH)
{
Button newButton = new Button();
newButton.CommandName = "Btn" + Convert.ToString(team);
newButton.ID = "Btn_" + Convert.ToString(team);
newButton.Text = team;
newButton.CommandArgument = name;
newButton.Click += new System.EventHandler(newButton_Click);
Botones.Add(newButton);
GoodPanel.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);
Button Btnclick = (Button)sender;
var team = Btnclick.Text;
string name = Btnclick.CommandArgument;
List.ListUsers listArea = new List.ListUsers();
List<Data.Area> Area = listArea.AreaList();
List<Data.Area> ListOfToolsOk = Area.Where(x => x.AREA == name && x.TEAM == team && x.STANDBY == 0).ToList();
var ToolArea = ListOfToolsOk.Select(x => x.TEAM);
Grv_Eng.DataSource = ListOfToolsOk;
Grv_Eng.DataBind();
}
答案 0 :(得分:1)
如果要分配OnClick事件,请执行此操作。
Button Btnclick = new Button();
Btnclick.Click += newButton_Click;
Btnclick.Text = "MyButton";
Btnclick.ID = "MyButtonID";
PlaceHolder1.Controls.Add(Btnclick);
如果您想引用动态ID,请在aspx页面上使用FindControl
和ClientID
。
document.getElementById("<%= PlaceHolder1.FindControl("MyButtonID").ClientID %>").click
答案 1 :(得分:0)
为您的按钮分配onClick侦听器。
describer.X
答案 2 :(得分:0)
在这里,您可以尝试使用动态创建的按钮
$(document).on('click', '#id', function(){});
答案 3 :(得分:0)
您可以使用data-
属性来识别javascript中的按钮,然后您只需附加到javascript事件:
因此,从服务器端可以执行此操作:
newButton.Attributes["data-dynamic-button"] = team;
您可以在客户端实现此目的:
$("[data-dynamic-button]").click(function (event) {
event.preventDefault()
alert($(event.currentTarget).data("dynamic-button"));
});