我有一组基本上在功能方面做同样事情的网站,唯一不同的是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。
答案 0 :(得分:0)
对于静态HTML内容,您可以使用LiteralControl轻松地将您的内容添加到表单中:
Page.Controls.Add(new LiteralControl("<b>content from db</b>"));
编辑:如果您将代码隐藏代码(FindControl)放在带有runat = server属性的表单标记中,那么它应该可以正常工作。但请注意,您的内容应该在每个回发中添加。您还可以通过Request [“FormElementId”]获取表单元素的值。