ASP.NET从数据库生成的html中捕获控件

时间:2009-06-12 08:56:04

标签: asp.net

我有一组基本上在功能方面做同样事情的网站,唯一不同的是css以及如何布局html。

有没有办法从数据库生成html(即从表中检索html),然后从后面的代码中捕获控件(如按钮,文本框等)?

更新:

这是我想要实现的一个例子:

<html>
<div id="generatedContent" runat="server">
<!-- the following content has been generated from the database on the page load event -->
<div>
     This is a textbox <input id="tb1" runat="server" type="text" />
     This is a button <input type="submit" id="btn1" runat="server" value="My Button" />
</div>
</div>
</html>

这是

背后的代码
var tb1 = new HtmlControls.HtmlInputText();
tb1 = FindControl("tb1");
var btn1 = new New HtmlControls.HtmlInputSubmit();
btn1 = FindControl("btn1");

现在很明显,因为html是从数据库生成的(即在页面初始化之后),FindControl方法将返回null。

1 个答案:

答案 0 :(得分:0)

对于静态HTML内容,您可以使用LiteralControl轻松地将您的内容添加到表单中:

Page.Controls.Add(new LiteralControl("<b>content from db</b>"));

编辑:如果您将代码隐藏代码(FindControl)放在带有runat = server属性的表单标记中,那么它应该可以正常工作。但请注意,您的内容应该在每个回发中添加。您还可以通过Request [“FormElementId”]获取表单元素的值。