我有一個存儲在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' –