2010-05-21 84 views
6

我有一個QuestionControl.ascx和一個QuestionControl.ascx.cs後面的代碼複製到一個新項目的文件後面的代碼。當我建立這個項目在隱藏文件在ASCX宣佈控制代碼的任何引用給了我這個錯誤:文件後面的代碼無法識別* .ascx中的控件

'QuestionControl' does not contain a definition for 'rdbtnlstQuestion1' and no extension method 'rdbtnlstQuestion1' accepting a first argument of type 'QuestionControl' could be found (are you missing a using directive or an assembly reference?)

這是在我的*的.ascx頂部:

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="QuestionControl.ascx.cs" Inherits="QuestionControl" %> 

我以前也試過代碼隱藏:

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="QuestionControl.ascx.cs" Inherits="QuestionControl" %> 

這是我在代碼隱藏文件類的頂部,它不包含在一個命名空間:

public partial class QuestionControl : System.Web.UI.UserControl 
{ 
+0

如果在其上添加另一個帶有其他控件的空白ascx,那麼該控件是否也無法編譯? – Tejs 2010-05-21 15:15:01

+0

.NET框架的哪個版本是這樣的?而且,可以肯定的是,這是MVC還是WebForms? – 2010-05-21 15:15:29

+0

你檢查過命名空間嗎? – Glennular 2010-05-21 15:18:32

回答

12

嘗試刪除您的設計器文件。當您打開ascx文件時,VS.NET應該爲您重新創建它。過去我遇到過這樣的問題,設計師出於某種原因不同步,刪除它通常會解決問題。

+0

我認爲你是對的。沒有.designer文件,我認爲這是問題,因爲它會包含ascx中控件的聲明。但是我覺得奇怪的是在之前使用過用戶控件的項目中,沒有設計器文件,它運行良好。我嘗試刪除並讀取用戶控件,並且不創建設計器文件。我也嘗試手動創建* ascx。designer.cs文件,但該文件不會與其節點下的用戶控件相關聯,並且仍然會出現錯誤。 – AaronLS 2010-05-21 15:31:41

+0

你使用什麼版本的VS?什麼類型的項目(網站,Web應用程序等)? – Jason 2010-05-21 15:35:56

+2

好的,我右鍵單擊* .ascx文件並選擇「轉換爲Web應用程序」,並生成設計器文件並將其關聯到ascx文件下。我現在想知道的是告訴Visual Studio設計器文件與特定的ascx文件相關聯,因爲當我手動創建它時,它不想使用該文件。當然有一些標記說VS「嘿,這是我的設計器文件,使用它」。 – AaronLS 2010-05-21 15:37:07

4

另一個解決方案是:

  • 設計視圖中打開您的.ascx頁面
  • 右鍵點擊網頁的任意位置,並選擇刷新

(.ascx.designer .cs文件可能需要關閉,同時進行刷新以便正常工作)

0

I h例如在gridview中創建一個dropdownlist的廣告問題。我所做的是在gv之外創建ddl,直到desinger.cs識別出它,然後將控件移到gv中...希望這有助於幫助

0

我遇到了同樣的問題,代碼隱藏識別.aspx頁面上的控件。我正在使用VS 2012.我右鍵單擊該項目;點擊轉換到Web應用程序;並添加了之前根本就沒有的所有設計器文件。我重建了一切,現在很好。

0

什麼工作形式我被列在另一個SO答案,我找不到它,所以我在這裏重複。

嘗試刪除您的 「ReflectedSchemas」 文件夾中

C:\用戶\ YOURUSENAME \應用程序數據\漫遊\微軟\ VisualStudio的\ 15.0_079f391b \ ReflectedSchemas

這爲我工作。有時我收到「無法識別」的錯誤,我再次刪除該文件夾。非常感謝OP。多年來一直讓我瘋狂。現在我的HTML中沒有「波形曲線」,後面的代碼中沒有「紅色條」(aspx.cs)

相關問題