使用JavaScript

时间:2017-07-04 20:03:19

标签: javascript asp.net

可以使用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();
        }

4 个答案:

答案 0 :(得分:1)

如果要分配OnClick事件,请执行此操作。

Button Btnclick = new Button();
Btnclick.Click += newButton_Click;
Btnclick.Text = "MyButton";
Btnclick.ID = "MyButtonID";

PlaceHolder1.Controls.Add(Btnclick);

如果您想引用动态ID,请在aspx页面上使用FindControlClientID

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"));
});