2011-05-23 79 views
0

我已經爲我的項目添加了一個名爲HomePageItem的Web用戶控件,並且我試圖以編程方式從名爲LandingPage.aspx的頁面創建它的新實例。由於某種原因該課程不可見。我只是得到,說的生成錯誤:無法從aspx頁面引用UserControl

類型或命名空間名稱「Controls_HomePageItem」找不到(是否缺少using指令或程序集引用?)

這是代碼行我LandingPage.aspx文件:

Controls_HomePageItem hpi = new Controls_HomePageItem(); 

這裏是整個HomePageItem.ascx文件:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 

public partial class Controls_HomePageItem : System.Web.UI.UserControl 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 

    } 
} 

我試圖把所謂的主頁0命名空間中的控制 像這樣:

namespace HomePage { 
    public partial class Controls_HomePageItem : System.Web.UI.UserControl 
    { 
     protected void Page_Load(object sender, EventArgs e) 
     { 

     } 
    } 
} 

然後引用該控制像這樣在LandingPage.aspx HomePage.Controls_HomePageItem HPI =新HomePage.Controls_HomePageItem();

,我嘗試using語句在頂部:

using HomePage; 

同樣的問題依然。我甚至不能從LandingPage.aspx看到主頁命名空間

請幫忙。
TIA

回答

0

你沒有在那裏的命名空間行嗎?

之間的使用和公共部分類,應該有一個命名空間行。

+0

這就是文件是如何由VS2008創建的。但我會嘗試手動快速插入它。 – n4rzul 2011-05-23 07:17:35

+0

@ n4rzul;你想在代碼後面添加usercontrol? – 2011-05-23 07:18:28

+0

@穆罕默德:我想programmaticaly在我的一個頁面中創建一個usercontrol的實例,但看不到該類。是的,它在我的頁面後面的代碼中,.cs文件,而不是aspx文件。 – n4rzul 2011-05-23 07:34:01

0

好的,發現問題。 該項目創建爲一個網站,而不是一個Web應用程序。 Visual Studio不斷在後臺創建新的控件,但是由於某些引用的DLL被其他人從源代碼管理中完全檢出,所以出現了一個與我的構建有關的問題。該網站仍然會構建並運行,但是沒有一個控件類正在生成。只要我解決了檢出的DLL的源代碼控制問題,我的控件就開始正常生成。

謝謝大家的回覆。

1

我也有這個問題。我解決了它。當我將我的usercontrol的Register添加到aspx文件時,我可以在代碼中引用usercontrol類。我只從代碼創建我的用戶控件,但需要註冊。 PS:對不起,我的英文不好。