2012-11-29 44 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。