ユーザー制御ファイルを他の場所に保存していますが、BLOBストレージまたは他の場所にある可能性があります。(私のプロジェクトのワークスペースにはありません)そして私はユーザーコントロールのURLをデータベースに保存します。では、このユーザーコントロールを自分のWebページにロードするにはどうすればよいですか?
1 に答える
0
次のアプローチを使用して、.ascx コントロールをロードしました。実際、.ascx ファイルを「テキスト」フィールドに保存しました。
まず、web.config ファイルにコントロールを登録しました。
<pages>
<controls>
<add tagPrefix="tab" src="~/pg.ascx" tagName="Test"/>
</controls>
</pages>
Web フォームでは、データベースから .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);
于 2011-09-24T10:01:23.293 に答える