繁体   English   中英

从asp.net中的Blob存储加载Web用户控件

[英]Loading web user controls from blob storage in asp.net

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

我使用以下方法加载.ascx控件。 实际上,我已经将.ascx文件保存到“文本”字段中。

首先,我在web.config文件中注册了一个控件:

<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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM