簡體   English   中英

asp.net按鈕/ htmlbutton事件不會觸發

[英]asp.net button/htmlbutton event will not fire

我知道它之前已被問過,但即使我在每個OnInit上創建按鈕和事件,我也無法觸發事件。 我正在做一個Sharepoint 2010 Web部件並用值填充radiobuttonlist,並在每次調用OnInit時向Web部件添加一個提交按鈕。 Page_Load方法為空。 我也嘗試將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。

在您的代碼中,我可以看到您為PanelsubmitBtn分配了相同的ID 因此,由於重復的ID,您的點擊事件不會被觸發。

為Panel和Submitbutton嘗試不同的IDs然后它應該工作正常!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM