asp.net无法在类中创建UserControl

时间:2011-01-26 18:40:12

标签: c# asp.net user-controls

我的最终目标是在我的App_Code文件夹中的类中创建一个UserControl,并将其中的html呈现为字符串。

使用此示例可以完成HTML的渲染我相信: How do I get the HTML output of a UserControl in .NET (C#)?

我的问题:

我创建了我的用户控件

public partial class Controls_MyUserControl : System.Web.UI.UserControl

我已在web.config

中注册了它
<add tagPrefix="UC" src="~/Controls/MyUserControl.ascx" tagName="MyUserControl" />

我可以在一个页面上引用它

<UC:MyUserControl ID="MyUserControl1" runat="server" />

然而,当我尝试在类(在我的app_code文件夹中)中创建此控件类型的对象时,它不允许我。

Controls_MyUserControl dummy = new Controls_MyUserControl();

可能奇怪的是,当我将此代码放入页面后面的代码中时,它可以工作。

我需要做些什么才能让我的类在app_code文件夹中创建usercontrol?

我的猜测是,我需要在顶部的“使用”语句中引用控件,但我不确定它是什么。

据我所知,它不在命名空间中(至少在实际用户控件的代码中没有命名空间)。虽然我不确定它是否从System.Web.UI.UserControl继承了一个。

提前致谢

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

假设您拥有〜/ UserControls /

中的所有用户控件

然后在您的代码后面添加以下内容;

using YourSpaceName.UserControls;

这将设置对该位置的任何用户控件的引用。

注意:如果您在另一个用户控件中使用用户控件,请确保为每个控件创建一个文件夹。我遇到了问题,特别是VB在哪里编译,但给我一个运行时错误。由于我遇到了这个问题,我在其自己的文件夹中创建了每个用户控件。