我有一个存储在DB中的字符串为"<asp:panel id='test' runat='server' ></asp:panel>"
。 我试图让这个数据和put it in a div which have runat="server" in it using innerHtml property.
动态呈现Asp.net服务器控件
protected void Page_Load(object sender, EventArgs e)
{
Layouts.InnerHtml = GetTemplate();
}
public string GetTemplate()
{
CompassModel.Layout Layout;
using (CompassEntities db = new CompassEntities())
{
Layout = (from q in db.Layouts
where q.LayoutID == 1
select q).SingleOrDefault();
}
return Layout.LayoutHTML;
}
当我试图访问使用findcontrol()
方法返回null这个动态添加面板。
是否有任何方式来渲染它,以便我可以在运行时访问面板?
谁给你的想法来存储'的'在DB和添加它在其他控制?你想要解决什么问题? –
我在设计页面中有很多行。所以它需要花费很多时间来加载。 –
将其简单地移动到数据库是一个最糟糕的想法。无论如何,最终的输出将呈现为“HTML”。无论你是简单地将更多的负载(数据库调用),并试图让你的网站更重。开始使用'Ajax' –