Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.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
C# asp.net按钮/htmlbutton事件将不会触发_C#_Asp.net_Events - Fatal编程技术网

C# asp.net按钮/htmlbutton事件将不会触发

C# asp.net按钮/htmlbutton事件将不会触发,c#,asp.net,events,C#,Asp.net,Events,我知道以前有人问过这个问题,但我无法启动事件,即使我在每个单元上创建了按钮和事件。我正在制作一个Sharepoint 2010 web部件,并在每次调用OnInit时用值填充RadioButton列表,并向web部件添加一个submit按钮。页面加载方法为空。我还尝试将paintQnA调用放入重写的CreateChildControls中,得到了相同的结果 protected override void OnInit(EventArgs e) { base.OnI

我知道以前有人问过这个问题,但我无法启动事件,即使我在每个单元上创建了按钮和事件。我正在制作一个Sharepoint 2010 web部件,并在每次调用OnInit时用值填充RadioButton列表,并向web部件添加一个submit按钮。页面加载方法为空。我还尝试将paintQnA调用放入重写的CreateChildControls中,得到了相同的结果

    protected override void OnInit(EventArgs e)
    {
        base.OnInit(e);

        ...//Get data needed to create gui

        paintQnA(dr, dt, currentRow);
    }

    void paintQnA(DataRow dr, DataTable dt, int currentRow)
    {
        Panel p = new Panel();
        p.ID = currentRow.ToString();

        Label lbl= new Label();
        lbl.Text = dr["Title"].ToString();

        RadioButtonList rbl = new RadioButtonList();
        rbl.ID = currentRow.ToString() + "1";

        HtmlButton submitBtn = new HtmlButton();
        submitBtn.ID = currentRow.ToString();
        submitBtn.InnerText = "Click";
        submitBtn.ServerClick += new EventHandler(submitBtn_Click);

        ...//fill the radiobuttonlist with data

        this.Controls.Add(p);
        p.Controls.Add(lbl);
        p.Controls.Add(rbl);
        p.Controls.Add(submitBtn);

        UpdatePanel1.ContentTemplateContainer.Controls.Add(p);
    }

    void submitBtn_Click(object sender, EventArgs e)
    {
        ...//Should display another dynamically created panel but is never reached.
    }
发现错误:

p.ID = currentRow.ToString();
submitBtn.ID = currentRow.ToString();

它们具有相同的ID…它们不能具有相同的ID。

在您的代码中,我可以看到您正在将相同的
ID
分配给
面板
submitBtn
。因此,由于Id重复,您的单击事件不会触发


尝试面板和Submitbutton的不同
ID
,然后它应该可以正常工作

使用
HtmlButton
而不是
Button
对象的原因是什么?不完全是。如果有什么不同,只需按一下按钮就可以了,但还是没有成功。您是否尝试过使用
submitBtn。单击
而不是
submitBtn。服务器单击