2010-10-02 51 views
1

我有一個在c#中使用visual studio 2010構建的asp.net網站。該網站基本上是兩個部分:http://www.wsgelectronics.com作爲參考。asp.net多個非嵌套的主頁在一個項目中

默認頁面是default.aspx的site.master頁面。我想分成兩個主頁面,每個部分一個,汽車音響和電腦部分,如果你看看網站,每個都有自己的佈局,導航欄,內容等。

我該如何去關聯它們上班?我可以在一個項目上有三個* .master頁面嗎?我沒有選擇嵌套的原因,他們將是完全不同的佈局,但我找不到關於鏈接一個網站上的不同母版頁的任何教程。這甚至可以完成?

+0

不確定我是否理解,你需要不同的頁面和不同的頁面?就這樣? – 2010-10-02 22:32:01

+0

一個site.master有兩個鏈接,每個鏈接到他們自己的.master頁面,然後該網站的每個部分跑掉那個母版頁,其基本上兩個網站合併爲一個 – 2010-10-02 22:47:46

+0

主site.master基本上只有介紹頁面到我的網站與一個default.aspx內容頁...然後有兩個主頁的網站的每個部分之一 – 2010-10-02 22:49:10

回答

4

是的,您可以在給定的網站中擁有儘可能多的主頁面。當您在網站上創建Web窗體(常規.aspx頁面)時,會出現「選擇母版頁」的複選框,因此請確保已選中。然後,當您選擇所需的母版頁時,Studio將爲您的頁面標出所需的標記以使用該母版頁。

例如,下面是一個網頁表單的存根,它具有一個位於同一目錄中的主文件,名爲MasterPage.master。相關部分爲:

  1. 在Page指令中,屬性MasterPageFile顯示了應用程序相對於母版頁的路徑。
  2. 母版頁可以有許多類型爲ContentPlaceHolder的服務器控件。這使您可以控制顯示頁面中標記的位置。我在本例中使用的母版頁有兩個,一個被稱爲head,另一個被稱爲ContentPlaceHolder1。同樣,這些控件在我的母版頁中定義。

樣品標記:

<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Default" %> 

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server"> 
</asp:Content> 
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> 
</asp:Content> 

欲瞭解更多信息,請參見asp.net Master Page Tutorials

+0

以及我創建Site.master頁面和其default.aspx頁面都工作正常,然後在Visual Studio中我創建了兩個不同名稱的母版頁,在該項目中通過單擊項目/添加新/母版頁/ etc並將它們鏈接到正確的鏈接,但是,當我點擊鏈接時應該帶我到正確的母版頁解析器錯誤 – 2010-10-02 22:39:24

+0

它無法找到頁面 – 2010-10-02 22:40:12

+0

確定它與頁面名稱,名稱空間,代碼隱藏有關 – 2010-10-02 22:40:39

1

是的,您可以使用多個母版頁,但一次只能引用一個母版頁。 通過在頁面生命週期的pre_Init事件中指定母版頁,您可以在後面的代碼中繼承多個母版頁。

您只需要在內容頁面上定義一個屬性,該屬性將在pre_Init事件中設置所需的母版頁,可能會使其變爲動態的會話變量。

相關問題