文件: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
谢谢!
文件: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
谢谢!
通常情况下,我会做这样的事情(假设你的类型是“地图”,并且您在您的.ascx文件相应的“继承”的声明):
Map map = (Map)LoadControl("~/Controls/map.ascx");
是否有地图。网站\控件中的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文件的方法目录。
这不起作用。 “地图”类型在App_Code中不可用。与asp.net如何编译控件有关。这就是我要求aspx中的<%Register标签获得可用类型的意思。 – MorganTiley 2008-10-08 14:24:38
在这种情况下,我通常会将代码隐藏文件(如Map.ascx.cs)移动到App_Code文件夹中。 – 2008-10-08 14:32:03