2008-10-08 69 views
4

文件:ASP.NET-实例化一个Web用户控件在App_Code文件类

网站\控制\ map.ascx

网站\ App_Code文件\ map.cs

我想创建一个在map.cs中强类型map.ascx的实例

通常,在一个aspx中,您可以添加一个<%Register ...标记以便能够在代码隐藏中实例化。这可能在app_code类中吗? 我正在使用.NET 3.5/Visual Studio 2008

谢谢!

回答

4

通常情况下,我会做这样的事情(假设你的类型是“地图”,并且您在您的.ascx文件相应的“继承”的声明):

Map map = (Map)LoadControl("~/Controls/map.ascx"); 
+1

这不起作用。 “地图”类型在App_Code中不可用。与asp.net如何编译控件有关。这就是我要求aspx中的<%Register标签获得可用类型的意思。 – MorganTiley 2008-10-08 14:24:38

+0

在这种情况下,我通常会将代码隐藏文件(如Map.ascx.cs)移动到App_Code文件夹中。 – 2008-10-08 14:32:03

1

是否有地图。网站\控件中的ascx.cs文件?如果是这样,请将其移至App_Code。请注意,您可能需要将.ascx文件中的CodeFile属性更新为〜\ App_Code \ map.ascx.cs。 另外,由于控制是一个局部类,你可以只创建〜\ App_Code文件\ map.cs代码为:

public partial class controls_Map : UserControl 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     ...code here.... 
    } 
} 

,并删除所有从控制map.ascx.cs文件的方法目录。

相关问题