2012-02-09 86 views
0

在我的页面中,我有两列和多行。第一列包含第一行问题等标签以及问题的选项。第二列是文本框。当我点击添加按钮时,我希望将这些控件添加到页面,随后允许我将texbox中的值添加到数据库中。我做了一些研究,但大多数使用JavaScript或数据表。还有其他方法吗?在asp.net中动态添加文本框

+0

如果你完全可以避免它,不要在ASP.NET中动态添加控件。这是更好地将它们设置有形/无形使用[Control.Visible(http://msdn.microsoft.com/en-us/library/system.web.ui.control.visible.aspx) – millimoose 2012-02-09 01:17:28

+0

但我需要添加多个的问题。我也不确定有多少问题可以解决。也许1或甚至100.所以我不能使用可见的方法。 – lixi 2012-02-09 01:20:04

+0

然后使用显示问题对象列表的“Repeater”。 ('Repeater'也以编程方式创建了数量未知的控件,但它也会在回发期间为您恢复它们。) – millimoose 2012-02-09 01:24:15

回答

3

你就不具体说了,你在做什么类型的.NET开发的,和你的问题是标签与ASP经典,我你用怀疑。 [如果你是请请停止]所以我会假设你正在使用Web窗体。

尽管我不同意Inerdial的观点,即不惜一切代价避免动态控制,但我会说它确实使事情变得更加复杂,并且需要非常了解ASP.net生命周期。如果你真的想要沿着这条路走下去,这里是a great resource

随着中说你所描述的对我有什么似乎并不需要一个和他控制的可见性设置为false的建议是一个很好的一个。

您可以创建一个排,一个面板或DIV输出,你添加一个新行,并设置它的服务器端的能见度为false,只要你不是不想显示它时需要的控制。然后你可以有一个链接,当点击它时将可见性切换为真,并允许用户添加项目。一旦用户添加项目,他们将显示在您的数据表中,您可以重新使用该表单来添加其他项目。

我也想鼓励你考虑的JavaScript,如果它不是一个过于复杂的形式。它消除了对服务器的额外往返行为,总的来说,这是更好的用户体验。

编辑:This link也可能是使用你的。