2017-10-29 66 views
0

我有一個C#的形式與對照這樣的提交的名單:在C#的形式

<asp:TextBox id="pos1" runat="server" /> 
<asp:TextBox id="pos2" runat="server" /> 
<asp:TextBox id="pos3" runat="server" /> 
... 

提交後,我處理它們是這樣的:

List<int> pos = new List<int>(); 
pos.Add(Int32.Parse(pos1.Text)); 
pos.Add(Int32.Parse(pos2.Text)); 
pos.Add(Int32.Parse(pos3.Text)); 
... 

有直接存儲方式將發佈的值作爲列表而不手動添加每個文本字段的值。爲了澄清,在PHP中我可以這樣做:

<input type="text" name="pos[]" /> 
<input type="text" name="pos[]" /> 
<input type="text" name="pos[]" /> 
... 

,然後提供給我這樣的:

$_POST[pos[0]]; 
$_POST[pos[1]]; 
$_POST[pos[2]]; 
... 

也就是說保持投入名稱作爲POS []對所有輸入他們是自動可用作爲$_POST[pos[n]]有沒有辦法在ASP.NET

來達到類似的效果
+0

因此無法創建**名稱**值是您的問題..正確?? –

+0

該名稱是在C#中自動創建的,但在C#中,我無法將其用作數組。我必須使用pos1 pos2 pos3我想使用相同的id並在服務器上獲取值作爲數組。 – Ravi

回答

0

您可以使用FindControl做同樣的事情,但不完全相同相同。

for(int i=0; i<5; i++){ 
    TextBox tb = (TextBox)FindControl("pos" + i); 
}