从asp.net中的blob存储加载web用户控件

本文关键字:加载 web 用户 控件 存储 blob asp net 中的 | 更新日期: 2023-09-27 18:09:28

我将用户控制文件存储在其他位置,可能在blob存储或其他地方。(不是在我的项目工作空间),我存储在数据库中的用户控件的url。现在如何加载这个用户控件到我的网页?

从asp.net中的blob存储加载web用户控件

我使用以下方法加载.ascx控件。事实上,我已经将。ascx文件保存到"text"字段。

首先,我在web中注册了一个控件。配置文件:

<pages>
  <controls>
    <add  tagPrefix="tab" src="~/pg.ascx" tagName="Test"/>
  </controls>
</pages>

在webform中,我从数据库中读取。ascx内容,并将其保存到根目录下的pg.ascx中,并动态加载用户控制。

Control t = LoadControl("~/pg.ascx");
PlaceHolder1.Controls.Add(t);

编辑:我正在添加一个用户控件定义,我已经存储到StringBuilder对象。

System.Text.StringBuilder sb = new System.Text.StringBuilder();
 sb.Append("<%@ Control Language='"C#'" ClassName='"m1'" %>");
 sb.Append("<script runat='"server'">");
 sb.Append("int no=10;");
 sb.Append("public void page_load(){ for(int i=1;i<=no;i++) { Response.Write(i);} }");
 sb.Append("</script>");
 sb.Append("<h1>Hello</h1>");
 System.IO.File.WriteAllText(MapPath("~/pg.ascx"), sb.ToString());
 Control t = LoadControl("~/pg.ascx");
 PlaceHolder1.Controls.Add(t);