如何获取页面元素的集合?

时间:2012-11-06 23:19:51

标签: c# asp.net vb.net visual-studio webforms

在Page_Init上,我检查Button1是否被按下,如果是,我在Panel中创建了一系列LiteralControls,名为Panel1:

   Panel1.Controls.Add(new LiteralControl("<table>"));

   Panel1.Controls.Add(new LiteralControl("<tr>"));
   Panel1.Controls.Add(new LiteralControl("<td>Header 1</td>"));
   Panel1.Controls.Add(new LiteralControl("<td>Header 2</td>"));
   Panel1.Controls.Add(new LiteralControl("<td>Header 3</td>"));
   Panel1.Controls.Add(new LiteralControl("</tr>"));

   Panel1.Controls.Add(new LiteralControl("<tr>"));
   Panel1.Controls.Add(new LiteralControl("<td>Data 1</td>"));
   Panel1.Controls.Add(new LiteralControl("<td>Data 2</td>"));
   Panel1.Controls.Add(new LiteralControl("<td><input type=\"text\" name=\"txtCode3\"></td>"));                
   Panel1.Controls.Add(new LiteralControl("</tr>"));

   Panel1.Controls.Add(new LiteralControl("</table>"));

我有第二个按钮,点击后,我想用所有表格单元格元素(或值)填充NameValueCollection(或任何其他列表)。

我该怎么做? 我试过了:

protected void Button2_Click(object sender, EventArgs e)
    {
             NameValueCollection coll = Request.Form;
    }

但这只能给我:

AllKeys:
    [0] "_VIEWSTATE"
    [1] "_EVENTVALIDATION"
    [2] "Button2"
    [3] "txtCode3"

正如您所看到的,我无法获得所有细胞元素。 我应该得到:

AllKeys:
    [0] "_VIEWSTATE"
    [1] "_EVENTVALIDATION"
    [2] "Button2"
    [3] Header 1
    [4] Header 2
    [5] Header 3
    [6] Data 1
    [7] Data 2
    [3] "txtCode3"

谢谢。

1 个答案:

答案 0 :(得分:1)

我能够通过切换到&lt; asp:Table&gt;来实现这一点。而不是简单的html表。