0

Page_Init で、Button1 が押されたかどうかを確認し、押された場合は、Panel1 という一連の LiteralControls を Panel に作成します。

   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 (またはその他のリスト) にすべてのテーブル セル要素 (または値) を入力する 2 番目のボタンがあります。

これどうやってするの?私はもう試した:

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"

ありがとうございました。

4

1 に答える 1

1

プレーンな html テーブルの代わりに <asp:Table> に切り替えることで、これを実現できます。

于 2012-11-09T15:12:42.700 に答える