2012-11-29 42 views
0

我有一個GoDaddy.com託管帳戶,運行.NET 4.0的IIS 7服務器,並且我正在爲我們的教會開發一個網站的早期階段。該內容是一個免費的基於CSS的模板,我已將其移入帶Master頁面的ASP.NET Web App。 (如果對內容的批評是必要的,請記住這是一個非常早期的發展階段......但我願意接受任何建議:))默認頁面沒有與Site.Master內容呈現

由於某些原因,當我輸入完整的URL到默認頁面,頁面呈現正常。但是,如果我只輸入不帶頁面名稱的文件夾名稱,則只能從頁面中獲取內容。

見你的自我:

http://www.websmithsllc.com/lpacftp/Home.aspx

http://www.websmithsllc.com/lpacftp

我不認爲這是與內容頁面,因爲它會正確地呈現在母版之間我的線了一個問題我使用完整的網址。因此,我認爲這個問題是三個區域之一:

  1. 如何我出版:一個鍵到FTP目錄
  2. 項目設置:目前Home.aspx是起始頁
  3. 一個問題與我的主機上的設置。

我真的希望這個問題不是#3,因爲我迄今爲止的經驗是,他們的技術支持嚴重缺乏Visual Studio/IIS開發和發佈領域。

現在,一些額外的線索。我知道Site.Master文件正在呈現,至少在某種程度上。正在顯示在Site.Master.Page_Load事件處理程序中創建的菜單:

protected void Page_Load(object sender, EventArgs e) 
    { 
     //Load sidebar content 
     Page p = HttpContext.Current.CurrentHandler as Page; 
     menuContent.Text = Helpers.StaticHelperMethods.GenerateMenuContent(p.Title); 
    } 

靜態方法: 公共靜態字符串GenerateMenuContent(字符串PAGETITLE) { StringBuilder的菜單=新的StringBuilder();

 if (pageTitle == "Home") 
     { 
      menu.Append("<a href=\"Home.html\" class=\"but but_t\" title=\"Home Page\">Home</a>\n"); 
     } 
     else 
     { 
      menu.Append("<a href=\"Home.html\" class=\"but\" title=\"Home Page\">Home</a>\n"); 
     } 
    More similar code... 

在這種情況下,應p.Title ==「家」,但代碼響應,好像就是沒有,我不知道如何(如果我能)調試現場看這是怎麼回事上。最後,如果仔細觀察第二個鏈接,您會注意到一些股票ASP.NET廣告文本 - 似乎來自BodyContent asp:Content對象中的股票「Default.aspx」文件。但是,查看屬性/ Web選項卡,我可以看到啓動操作是特定頁面:Home.aspx。

所以,希望我沒有在這裏添加大量不必要的信息,但至少對於有更多經驗的人來說,足以幫助我弄清楚我在這裏做錯了什麼。

在此先感謝您提供的任何幫助。

回答

0

您需要一個默認頁面。創建它,然後在Page_Load後面的代碼中寫入:

Response.Redirect(「Home.aspx」);

或者在IIS中更改默認頁面。或者將您的主頁改爲Default.aspx(並重命名類和頁面指令)。

這三者中,創建一個重定向到Home.aspx的Default.aspx頁面可能是最簡單的。

0

是的,馬修馬丁是正確的。您的主機服務的IIS未配置爲將「Home.aspx」作爲默認頁面。您需要讓他們將其添加到IIS配置,或者將您的主頁重命名爲Default.aspx,或者創建一個重定向到您的Home.aspx的「dummy」Default.aspx。