如何在asp.net中动态生成文本框

时间:2011-09-14 08:48:56

标签: c# asp.net sql-server

我正在开发一个hrms项目,我必须在其中制作时间表程序。

我需要从用户那里获取开始日期和结束日期,并且根据两个日期的不同,我必须动态地生成文本框以便在指定的地方输入时间。

任何人都可以帮助我。

2 个答案:

答案 0 :(得分:1)

我做了类似的事情。基本上,我创建一个HTML表并根据需要创建任意数量的列,并在每个列中创建一个TextBox,如下所示:

myColumn.InnerHtml = "<table>";
        int length = THE NUMBER OF TEXTBOXES YOU WANT TO ADD BASED ON THE DATES;
        int i = 1;
        while (i <= length)
        {
            myColumn.InnerHtml += "<tr>";
            myColumn.InnerHtml += "<td><input id='whatever" + i.ToString() + "' type='text' runat='server'></td>";
            unavailableColumn.InnerHtml += "</tr>";
            i++;
        }
        unavailableColumn.InnerHtml += "</table>";

myColumn在aspx中声明如下:

<table>
<tr>
<td id="myColumn" runat="server" visible="false" style="width: 35%; vertical-align: top">
</td>
</tr>
</table>

当您输入两个日期时,应添加此代码,以便动态创建文本框。希望这有帮助!

答案 1 :(得分:0)

您需要:

a)使用输入的值进行回发,并在CreateChildControls中生成新的文本框,具体取决于值

b)使用JavaScript添加它们并从Request手动获取它们的值。