问题描述
privatevoidAddTextBoxs(){TableRowtr=newTableRow();TableCellTCPartNo=newTableCell();TableCellTCPartName=newTableCell();TableCellTCQuantity=newTableCell();TableCellTCOriginalSN=newTableCell();TableCellTCNewSN=newTableCell();TextBoxTBPartNo=newTextBox();TextBoxTBPartName=newTextBox();TextBoxTBQuantity=newTextBox();TextBoxTBOriginalSN=newTextBox();TextBoxTBNewSN=newTextBox();TBPartNo.ID="TBPartNo";TBPartName.ID="TBPartName";TBQuantity.ID="TBQuantity";TBOriginalSN.ID="TBOriginalSN";TBNewSN.ID="TBNewSN";TBPartNo.Width=119;TBPartName.Width=170;TBQuantity.Width=70;TBOriginalSN.Width=120;TBNewSN.Width=120;TBPartNo.MaxLength=50;TBPartName.MaxLength=50;TBQuantity.MaxLength=4;TBOriginalSN.MaxLength=50;TBNewSN.MaxLength=50;TCPartNo.Controls.Add(TBPartNo);TCPartName.Controls.Add(TBPartName);TCQuantity.Controls.Add(TBQuantity);TCOriginalSN.Controls.Add(TBOriginalSN);TCNewSN.Controls.Add(TBNewSN);tr.Cells.Add(TCPartNo);tr.Cells.Add(TCPartName);tr.Cells.Add(TCQuantity);tr.Cells.Add(TCOriginalSN);tr.Cells.Add(TCNewSN);Table1.Rows.Add(tr);}Table1是Table控件现在的问题是在页面中有一按纽需要获取动态生成TextBox控件的输入的值,要怎么获取?
解决方案
解决方案二:
和非动态生成是一样的.
解决方案三:
Request.Form["TBPartNo"];Request.Form["TBQuantity"];............
解决方案四:
AddTextBoxs()这个方法在回转时再调用一次。然后就是通过TextBoxtxt=(TextBox)Page.FindControl("textboxid");//Page可以替换成更小的范围,如上面的Table这个txt就代表你TextBox,取值:txt.Text
解决方案五:
试试3楼的方法
解决方案六:
3楼的:AddTextBoxs()这个方法在回转时再调用一次。然后就是通过TextBoxtxt=(TextBox)Page.FindControl("textboxid");//Page可以替换成更小的范围,如上面的Table这个txt就代表你TextBox,取值:txt.Text-------------------------------------------------------------------------AddTextBoxs()这个方法在回转时再调用一次。那你输入的值还有效吗?
解决方案七:
直接用ID就可以取到.前提是要在page_load中不管是否回发都创建你要用到的textbox控件.
解决方案八:
<asp:PlaceHolderID="PlaceHolder1"runat="server"><asp:TableID="tb1"runat="server"></asp:Table></asp:PlaceHolder>cs:stringa="";for(inti=0;i<TextBoxCount;i++){TextBoxCounttxt=(TextBoxCount)PlaceHolder1.FindControl("ID"+i);a+=txt.Text+";";}把AddTextBoxs()放在Page_Load()中但不要加if(!isPostBack)这样应该没问题了。
解决方案九:
for(inti=0;i<TextBoxCount;i++){TextBoxtxt=(TextBox)PlaceHolder1.FindControl("ID"+i);a+=txt.Text+";";}
解决方案十:
回复5楼:值还在.因为值存储在视图状态里..