2010-03-17 92 views
2

通過列出的微軟認證教程here,您需要創建母版頁。在由Visual Studio生成文件中的第一個列表如下:母版頁繼承標記問題

<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Site.master.cs" Inherits="FormsAuthentication.Site" %> 

該項目被稱爲FormAuthentication和母版頁命名的Site.Master。當運行項目中,我得到的錯誤:

Compiler Error Message: CS0426: The type name 'Site' does not exist in the type 'System.Web.Security.FormsAuthentication' 

和行引用這個樣子的,在一個自動生成的文件

Line 133:  [TemplateContainer(typeof(FormsAuthentication.Site))] 

取出「繼承=‘FormsAuthentication.Site’」的一部分最初的標籤解決了這個問題,但我試圖瞭解這裏發生了什麼。這裏究竟發生了什麼?

+0

+1對問題提供一點背景,並詢問具體問題。謝謝! – 2010-03-17 20:10:33

回答

5

您的項目名稱(可能命名空間)與ASP.NET表單驗證類名衝突:System.Web.Security.FormsAuthentication。我認爲你缺少名稱空間名稱或引用。

+0

所以這只是我的一個不幸的命名選擇? /不好意思 – mwright 2010-03-17 20:16:49

+0

肯定與否 - 如果你選擇了別的名字,錯誤就不會發生。但我認爲你可以嘗試修改Iherits屬性來設置你的主頁面命名空間。如果你沒有,你可以將它添加到代碼和屬性中。 – 2010-03-17 20:27:30

+0

以下是有關名稱空間的信息:http://msdn.microsoft.com/zh-cn/library/ms973231.aspx#assenamesp_topic5 – 2010-03-17 20:28:49

1

如果您可以重命名或在FormsAUthentication周圍添加其他級別的命名空間,以使其類似於:Custom.FormsAuthentication.Site,這可以緩解問題。