【问题标题】:How to get a collection of page elements?如何获取页面元素的集合?
【发布时间】:2012-11-06 23:19:51
【问题描述】:

在 Page_Init 上,我检查 Button1 是否被按下,如果是,我在 Panel 中创建一系列 LiteralControl,称为 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"

谢谢。

【问题讨论】:

  • @Tariqulazam:这是一个不同的问题。你提到的问题我问如何在文本框中输入文本。现在我在问如何将整个元素集合放入 NameValueCollection(或任何其他列表)中。
  • 你应该把它缩小到你当前的问题。将整个元素集合放入 NameValueCollection 与您在 page_init 中所做的事情无关。 Request.Form 本身就是一个namevaluecollection。使用 F12 查看应该返回的属性或方法。

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


【解决方案1】:

我可以通过切换到

而不是普通的 html 表格来实现这一点。

【讨论】:

    猜你喜欢
    • 2014-08-19
    • 1970-01-01
    • 2019-05-08
    • 1970-01-01
    • 1970-01-01
    • 2016-02-26
    • 2015-03-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多