2013-06-28 91 views
2

我在.aspx下面的HTML:這個名字並不在當前的背景下存在

<div ID="divText" runat="server" style="position:absolute;top:60px; left:800px; width:600px; height:100px; z-index:2;font-size:200%"> 
</div> 

然後在後面的代碼,智能感知發現「divText」但我得到中列出的編譯錯誤標題

string productEdition = ConfigurationManager.AppSettings["Club"]; 
divText.InnerHtml = productEdition; 

編譯錯誤:

Error 3 The name 'divText' does not exist in the current context

的事情是在另一個文件完全相同的HTML和代碼工作。我們已經嘗試了一切。有任何想法嗎?

+0

你在哪裏打電話呢?頁面加載?還要確保你的aspx和cs文件具有相同的名稱。 –

+0

您是否複製並瀏覽整個.aspx頁面? – Gratzy

+3

你是從靜態方法調用這個嗎? – gilly3

回答

1

當你有副本粘貼一個aspx文件時,通常會出現此錯誤。請確認您的aspx指向了正確的cs文件。同時檢查兩個文件的名稱。

其他選項是您的設計器文件有問題。如果你想讓Visual Studio重新生成你的designer.cs文件,你可以進入設計模式,做一個小改動並保存文件。

讓我知道,如果沒有這項工作(90%的時間,這個問題是由此造成的)。

0

最有可能的是控制變量沒有被添加到aspx.designer.cs文件中。您可以重新添加控件,Visual Studio可能會爲您添加它,或者您可以手動將其添加到設計器。

protected global::System.Web.UI.HtmlControls.HtmlGenericControl divText; 
+0

沒有設計師文件。它是一個網站項目。 – user2471435

-2

看起來像你的問題可能是大寫的ID,它不是設置你的元素的ID。也不知道該ID如何成爲您發佈的代碼的對象。

+0

這是一個ASP。NET服務器控件。它應該是一個大寫的ID。 –

+0

@Jace Rhea - 呃,那個改正的thanx。 – bitfiddler

+0

實際上,id屬性的外殼在aspx頁面中完全沒有關係。你可以使用'ID','Id','iD'或者'id',這些效果完全相同。 –

1

如果其他建議不起作用,請刪除設計器文件,右鍵單擊標記文件,然後單擊「轉換爲Web應用程序」。

1

我在將VS2005 aspx/aspx.cs文件轉換爲VS2013中的新項目時遇到類似問題。我通過創建一個新的Web應用程序來解決這個問題,爲每個aspx頁面創建一個新的webform並複製.aspx和.cs的代碼。一旦被複制,我必須更改.cs文件的第一行,以使用代碼隱藏代碼而不是代碼文件

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Login.aspx.cs" Inherits="_Login" %> 

TO

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Login.aspx.cs" Inherits="_Login" %> 

我希望這可以幫助別人。

0

右鍵單擊ASPX(或ascx)文件,然後選擇轉換爲Web應用程序(或類似的東西)。這將強制刷新設計器文件。

您可以在解決方案資源管理器中右鍵單擊項目並選擇Web應用程序。在這種情況下,所有的項目文件都將被更改。

,如果你不能看到轉換爲Web應用程序後,右鍵單擊,您可以點擊項目菜單上,你會看到轉換爲Web應用程序在底部

相關問題