1. 程式人生 > >“當前上下文中不存在名稱”解決

“當前上下文中不存在名稱”解決

經常用vs2005看到控制元件明明存在,但卻顯示"當前上下文中不存在名稱",一開始我還以為和Visible屬性有關,今天搜尋的時候,才發現,原來是我複製程式碼時出了問題,其餘的我就不多說了。

看別人發的文章吧。 

編譯程式的時候出現“當前上下文中不存在名稱xxxx”的問題,但實現頁面是存在這些控制元件的,在CSDN上找到這樣的的回覆,原貼如下:

呵呵,我也碰到與樓主一樣的問題了,還以為是MS的BUG,想想用了5年了,不可能是BUG吧,查詢後,解決了的問題。

造成這種原因的根本原因在於,當你建一個新檔案時,為了方便,我現成的檔案來拷貝,結果出現兩個相同的。CS類即 partial class,兩個不同檔案的ASPX相同而ASPx。CS中類卻一樣的東東,一個的其中檔案發生了改變,而另一個根本就沒有變化。只是使用者根本就不知道啊。

舉個例子,你建一個TEST。ASPX ,這時在TEST.ASPX.CS中會生成一個XXX_TEST的類(XXX可能是目錄)
然後拷貝貼上一個TEST。ASPX,改名為TEST123。ASPX,在TEST123。ASPX。CS中的類卻根本就沒有發生改變,這時候類還是XXX_TEST
這時會出現兩個不同的。ASPX檔案有一個相同的類程式碼,只要一方發生改變,另一個就會出錯。。。。。。。。。

避免的方法,最好新建檔案後複製相同程式碼即可。

採用了Save As的辦法複製了一個.AspX的頁面,所以出現這樣的問題
解決方法:
Copy曾經Save As頁面的程式碼並將之刪除,新建一個頁面,再將程式碼Copy進去,解決問題!!!把CodeFile改了...

<%@ Page Language="C#" CodeFile="SimLogin.aspx.cs" Inherits="SimLogin" %>

我的總結:
一般這個問題出現在多個aspx頁面,但是隻有一個cs後臺頁面的情況,例如:複製了aspx頁面後改名,此時2個aspx頁面都使用同一個cs後臺檔案,在只改動其中一個aspx頁面時,就會出現上述情況