Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JavaScript调用事件单击_Javascript_Asp.net - Fatal编程技术网

使用JavaScript调用事件单击

使用JavaScript调用事件单击,javascript,asp.net,Javascript,Asp.net,是否可以使用JavaScript调用事件单击?怎么做 我试图在单击按钮时调用此事件 我正在动态创建按钮,以便id不断变化 下面是我如何动态创建按钮并分配事件单击 protected void Page_Init(object sender, EventArgs e) { ScriptManager.RegisterStartupScript(this, this.GetType(), "Pop", "showAndHide();", true);

是否可以使用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();
        }
受保护的无效页\u Init(对象发送方,事件参数e)
{
ScriptManager.RegisterStartupScript(this,this.GetType(),“Pop”,“showAndHide();”,true);
按钮Btn_clic=(按钮)发送器;
var name=Btn_clic.Text;
List.ListUsers listArea=新建List.ListUsers();
列表区域=listArea.AreaList();
List ListOfEquiposOk=Area.Where(x=>x.Area==name&&x.STANDBY==0.ToList();
List BOTONE=新列表();
var TeamFCH=ListOfEquiposOk.Select(x=>x.TEAM.Distinct().ToList();
foreach(TeamFCH中的var团队)
{
按钮newButton=新按钮();
newButton.CommandName=“Btn”+Convert.ToString(团队);
newButton.ID=“Btn_”+Convert.ToString(团队);
Text=team;
newButton.CommandArgument=名称;
newButton.Click+=newsystem.EventHandler(newButton\u Click);
添加(纽扣);
GoodPanel.Controls.Add(新按钮);
newButton.CssClass=“btn主轮廓分离”;
}
}
受保护的无效新按钮单击(对象发送方,事件参数e)
{
ScriptManager.RegisterStartupScript(this,this.GetType(),“Pop”,“ModalGood();”,true);
按钮Btnclick=(按钮)发送器;
var team=Btnclick.Text;
string name=Btnclick.CommandArgument;
List.ListUsers listArea=新建List.ListUsers();
列表区域=listArea.AreaList();
List 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_工程数据绑定();
}

为按钮分配一个onClick侦听器

document.getElementById("your-id").click = function () {
    newButton_Click();
}

如果要分配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
document.getElementById(“”)。单击

在这里,您可以尝试动态创建按钮

$(document).on('click', '#id', function(){});

您可以使用
data-
属性从javascript中标识按钮,然后只需附加到javascript事件:

因此,从服务器端可以执行以下操作:

 newButton.Attributes["data-dynamic-button"] = team;
您可以在客户端实现这一点:

$("[data-dynamic-button]").click(function (event) {
    event.preventDefault()
    alert($(event.currentTarget).data("dynamic-button"));
});

你是说Java而不是JavaScript?那为什么不把它添加到按钮上呢<代码>。如果您已经这样做了,@Aenadon的答案应该会起作用。@Adrián nop,我的意思是JavaScriptMy bad,我没有阅读ScriptManager。我是动态创建按钮的,所以在创建按钮时id会不断更改。或者使用document.getElementsByCassName()/.getElementsByTagName()@Daniel我在创建按钮时添加了这样的按钮,但是我的事件没有触发,我不知道为什么您可以在这里查看,可能是因为您需要在每个页面加载时分配单击,这包括回发。因此,如果您在另一个按钮事件中分配了
单击
,那么您必须确保在下一个页面加载时再次执行它。因此,在页面加载中,我需要放置类似
事件(发送者,e)
?我测试了您的代码片段。它起作用了。只需将其放入
页面加载
。从一个按钮开始工作,然后从那里开始工作。不要将按钮存储在列表中,这毫无意义。另外,如果要使用
命令参数
,则需要指定一个
命令
,而不是一个
单击
,您建议用什么代替按钮列表?我之所以使用它,是因为在我的XML中有许多“团队”,这就是为什么每次给他们分配一个类并用.className替换#id时,id都会改变的原因