2013-02-05 88 views
0

我在這個web應用程序中使用用戶控件根據行將其放置在表中依賴於count.用戶控件中有4個文本框我已經將每個usercontrol放置在錶行中並在頁面加載給這個行唯一的ID。問題是,當我提交表單我試圖通過行ID獲取數據,但控制返回null.i我越來越行,但在該行內,我無法找到控制。如果我做了任何蠕蟲,請查看我的代碼。在表格行中獲取動態生成的控件ID

MasterPage ctl00 = FindControl("ctl00") as MasterPage; 
ContentPlaceHolder cplacehld = ctl00.FindControl("ContentPlaceHolder1") as ContentPlaceHolder; 
foreach (SeatBookDetails sff in SBD) 
{ 
    TableRow trow = (TableRow)cplacehld.FindControl("Row_" + sff.SeatRowId.ToString() + "_" + sff.SeatRowno.ToString()); 
    if (trow != null) 
    { 
     string ss = trow.ID; 

     TextBox txtcust = (TextBox)trow.FindControl("txtcustname"); 

     if (txtcust != null) 
     { 

     } 
     TextBox txtprofession = (TextBox)trow.FindControl("txtprofession"); 
     if (txtprofession != null) 
     { 

     } 
    } 
} 

當我檢查元素我發現結構我附上這個圖像看看。 這裏可以做些什麼?我怎麼能得到這個控制?

Scrrenshot

回答

0

首先在你提供屬性用戶控件類只具有get訪問 像:

public string CustomerName { get { return txtCustName.Text; } }

然後就可以通過行和表中的細胞循環中使用foreach

然後找到您使用的用戶控件:

if (_control is Usercontrol) { Usercontrol _form = (Usercontrol)_control; string name = _form.CustomerName; }

也確保加載用戶控件集合動態Page_initPage_Load 有它訪問。