Asp.net,c#.net重复字段

本文关键字:net 字段 Asp | 更新日期: 2023-09-27 18:07:09

我有一个asp.net网页abc.aspx
它包含

        <td class="style1">
            <asp:TextBox ID="chqdt1" runat="server" Width="71px"></asp:TextBox>
            <a href="javascript:OpenCalFuture('ctl00_ContentPlaceHolder1_chqdt1');">
            <img border="0" height="16" src="cal.gif" width="16" /></a>
        </td>
        <td>
            <asp:Button ID="Button1" runat="server" Text="add" style="margin-left: 0px" />
        </td>
        <td>
            &nbsp;</td>

我想在每个按钮上单击事件创建新的行与新的教科书与日历字段创建

Asp.net,c#.net重复字段

处理按钮的OnClick事件,并放入处理程序代码,如下所示:

TextBox2 = New TextBox()
TextBox2.ID = "TextBox2"
TextBox2.Style("Width") = "71px"
Form1.Controls.Add(TextBox2)
http://support.microsoft.com/kb/317515

快速回答:

  1. 首先为你的文本框创建一个PlaceHolder。
  2. 处理按钮OnClick事件
  3. 为您的文本框和日历字段生成文本框和文字控件。
  4. 将生成的控件添加到PlaceHolder。

代码示例:

<td class="style1">
    <asp:PlaceHolder ID="placeholder1" runat="server" />    
</td>
<td>
    <asp:Button OnClick="Button1_Click" ID="Button1" runat="server" Text="add" style="margin-left: 0px" />
</td>

背后的代码:

protected void Button1_Click(object sender, EventArgs e)
{
    TextBox textbox = new TextBox();
    textbox.ID = "myTextBoxID";
    Literal literalCal = new LiteralCalendar();
    literalCal.Text = 
        "<a href='"javascript:OpenCalFuture('" + textbox.ClientID + "');'"><img border='"0'" height='"16'" src='"cal.gif'" width='"16'" /></a>";
    placeholder1.Controls.Add(textbox);
    placeholder1.Controls.Add(literalCal);
}

上面的示例可能不是一个完整的(或有效的)代码,因为我没有测试它,但我希望你能理解。

你必须按照@Dima说的去做,而不是按照Forms1。控件,您应该使用占位符控件并写入:

placeholder.Controls.Add(TextBox2)

那么你也可以这样做:

TextBox2.Focus();

将焦点放在文本框上