从字符串中呈现.NET Web控件?

0 c# web-controls asp.net-3.5

在ASP.NET中是否可以从包含一些标记内容的字符串中动态加载WebControl(无需编写一堆自定义代码)?

例如,我有一个如下字符串:

string controlTag = "<asp:Label ID=\"lblLabel\" runat=\"server\" />";
Run Code Online (Sandbox Code Playgroud)

然后,我想要执行以下操作来从该字符串加载控件:

WebControl webControl = LoadControlFromTagString(controlTag);
Run Code Online (Sandbox Code Playgroud)

我可以自己简单地解析字符串并在LoadControlFromTagString中动态加载一个控件,但我想知道.NET中是否有内置的东西可以利用.有什么建议?

sis*_*sve 6

有几种选择,具体取决于您想要控制实例的内容(以及您希望对渲染,数据绑定等内容进行多少控制).

最简单的可能是TemplateControl.ParseControl(String),您可以通过当前的Page实例访问它.