2012-11-03 67 views
0

我正在使用.NET框架3.5處理ASP .NET項目。我正試圖在另一個用戶控件內部投射一個用戶控件,因此我使用下面的代碼。在另一個控件中投射用戶控件

在test.ascx文件

<%@ Reference Control="test2.ascx" %> 

,並在test.ascx.cs文件:

private ASP.test2_ascx testing; 
    protected void Button1_Click(object sender, EventArgs e) 
    { 
testing = (ASP.treestructure_ascx)LoadControl("test2.ascx"); 
       testing.aload(); 

的問題是, 「ASP」 這個詞強調說,「Error17無法找到類型或命名空間名稱「ASP」(您是否缺少使用指令或程序集引用?)「 」

+0

爲什麼放置ASP。前面 ?你有沒有嘗試只使用'test2_asxc'? – Aristos

回答

0

您不能馬上做它treestructure_ascxtest2_ascx文件從具有實現兩個控件的簽名aload的接口繼承。

public interface ICustomLoader 
{ 
    public void aload(); 
} 

對於這兩個控件:

public class treestructure_ascx : UserControl, ICustomLoader 
{ 
    public void aload() 
    { 
     //your loading codes goes here 
    } 
} 

和test2_ascx

public class test2_ascx : UserControl, ICustomLoader 
{ 
    public void aload() 
    { 
     //your loading codes goes here 
    } 
} 

所以,你將能夠投用LoadControl控制和,您將能夠訪問你的aload()

protected void Button1_Click(object sender, EventArgs e) 
{ 
    var testing = (ICustomLoader)LoadControl("test2.ascx"); 
    testing.aload(); 
} 

注意:我想你不需要ASP命名空間。

相關問題