2010-11-11 38 views
0

我在驗證PlaceHolder中的所有文本框時遇到問題。 我做了PlaceHolder,我不知道如何檢查所有的文本框都有整數作爲文本。有任何想法嗎?驗證PlaceHolder中的所有文本框

public void Made_Matrix (PlaceHolder Matrix, int Size){ 
for(int row=0; row < size; row++){ 
for(int col=0; col < size; col++){ 
TextBox TB = New TextBox(); 
Matrix.Controls.Add(TB); 
TB.ID = TB + Convert.ToString(row) + Convert.ToString(col); 
TB.AutoPostBack = "true"; 
} 
Matrix.Controls.Add(new LiteralControl ("<br/>")); 
} 
} 
public void TB_Validate (PlaceHolder Matrix, int Size){ 
for (int row = 0; row < size; row++){ 
for (int col = 0; col < size; col++){ 
string Ident = TB + Convert.ToString(row) + Convert.ToString(col); 

我該如何找到文本隱藏在ID爲Ident的TextBox中?以及如何檢查它是否是數字?我想在.NET中沒有像IsNumeric()這樣的函數,對嗎?

回答

2

爲每個動態文本框添加CompareValidators與Operator="DataTypeCheck"Type="Integer"。 您可能還想定義一個ValidationGroup f.e. VG_MATRIX用於每個驗證器。

1

Int.TryParseDouble.TryParse如何檢查輸入值?

您可以像這樣枚舉佔位符中的控件。

foreach (Control control in Matrix.Controls) 
{ 
    TextBox textbox = control as TextBox; 
    if (textbox != null) 
    { 
     // Do stuff with textbox.Text 
    } 
} 

其實,只要做Matrix.FindControl(Ident) as TextBox,如果你知道確切的ID。

+0

好吧,這是個好主意,但如何讓每個文本框的文本...:/ – Alliah 2010-11-11 16:54:43

+0

我已經用兩種方法更新了回答文本框。 – batwad 2010-11-12 11:42:17