【问题标题】:Find dynamically created radiobuttonlist查找动态创建的单选按钮列表
【发布时间】:2012-09-26 16:40:52
【问题描述】:

我正在向页面动态添加一个单选按钮列表,并且在单击按钮时我想存储这些值。但我无法在页面上找到控件。请在下面找到示例代码。

for(int i=1;i<10;i++)
{

 Table tblStars = new Table();    
 RadioButtonList rb = new RadioButtonList();    
 rb.ID = i.ToString();

----
TableCell tc=new TableCell();    
TableRow tr=new TableRow();    
tc.Controls.Add(rb);    
tr.cells.Add(tc);

tblStars.Rows.Add(tr);    
ContentPlaceHolder.Controls.Add(tblStars);

}

按钮点击事件,

protected void btnPost_Click(object sender, EventArgs e)

 {    
    for(int i=1;i<10;i++)    
    {    
       RadioButtonList rb = (RadioButtonList)this.Page.FindControl(i.ToString());    
    }
}

在这里,我找不到控件。 FindControl 正在返回 null。

我错过了什么吗?

谢谢

【问题讨论】:

    标签: c# asp.net


    【解决方案1】:

    因为您正在动态创建 RadioBuoon 列表,所以您需要在 每次 POSTBACK 之后创建它们 ..

    你在这样做吗?

    另外,您需要专门针对您期望它所在的单元格,而不是 this.Page.FindControl

    【讨论】:

      【解决方案2】:

      单击按钮时,您可能会丢失控件。每次单击它时,它都会进行回发,并执行 Page_Load 事件。 您可能正在那里初始化您的信息,并且您的表格中的控件已重置。 再次尝试在 Page_Load 事件中加载控件。 您也可以尝试使用启用视图状态。

      【讨论】:

        猜你喜欢
        • 2011-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-02
        • 1970-01-01
        • 2010-09-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多