我的最终目标是在我的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继承了一个。
提前致谢
答案 0 :(得分:0)
Scott Alen发布的一些解决方法http://www.velocityreviews.com/forums/t119801-accessing-web-user-control-from-class-in-app_code-folder.html
答案 1 :(得分:0)
假设您拥有〜/ UserControls /
中的所有用户控件然后在您的代码后面添加以下内容;
using YourSpaceName.UserControls;
这将设置对该位置的任何用户控件的引用。
注意:如果您在另一个用户控件中使用用户控件,请确保为每个控件创建一个文件夹。我遇到了问题,特别是VB在哪里编译,但给我一个运行时错误。由于我遇到了这个问题,我在其自己的文件夹中创建了每个用户控件。