あなたの質問が正しく理解できれば、タグなどをデータベースに保存する必要はありません。ロードするコントロールの名前とパス (ユーザー コントロールは同じプロジェクトからのみロードできることに注意してください)。ユーザー コントロールを動的に読み込むコード サンプルを次に示します。
<asp:DropDownList ID="userControlSelection" runat="server" AutoPostBack="true"
onselectedindexchanged="userControlSelection_SelectedIndexChanged">
<asp:ListItem Value="1">User Control One</asp:ListItem>
<asp:ListItem Value="2">User Control Two</asp:ListItem>
</asp:DropDownList>
<asp:Panel ID="controlHolder" runat="server" ></asp:Panel>
コードの背後にある重要な部分は「this.LoadControl("~/WebUserControl2.ascx");」です。詳細とユーザー コントロールの読み込みについては、この記事を参照してください。 ユーザー コントロールを動的に作成する
protected void userControlSelection_SelectedIndexChanged(object sender, EventArgs e)
{
Control c = null;
if (userControlSelection.SelectedValue == "1")
{
c = this.LoadControl("~/WebUserControl1.ascx");
}
else if (userControlSelection.SelectedValue == "2")
{
c = this.LoadControl("~/WebUserControl2.ascx");
}
if (c != null)
{
controlHolder.Controls.Clear();
controlHolder.Controls.Add(c);
}
else
{
//Throw some error
}
}
これが役に立てば幸いです、ありがとう