我有一个 GoDaddy.com 的托管帐户,运行 .NET 4.0 的 IIS 7 服务器,我正处于为我们教会开发网站的早期阶段。内容是一个免费的基于 CSS 的模板,我已将其移至带有母版页的 ASP.NET Web 应用程序中。(如果需要对内容进行评论,请记住这是一个非常早期的发展阶段......但我愿意接受任何建议。:))
出于某种原因,当我输入默认页面的完整 URL 时,页面会正确呈现。但是,如果我只输入文件夹名称而不输入页面名称,我只能从页面本身获取内容。
你自己看:
http://www.websmithsllc.com/lpacftp/Home.aspx
http://www.websmithsllc.com/lpacftp
我不认为这是我在内容页面和母版页之间的连接的问题,因为当我使用完整的 URL 时它会正确呈现。因此,我认为问题出在以下三个方面之一:
- 我的发布方式:一键访问 FTP 目录
- 项目设置:目前Home.aspx为起始页
- 我的主机上的设置有问题。
我真的希望问题不是#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);
}
静态方法: public static string GenerateMenuContent(String pageTitle) { StringBuilder menu = new 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 应该 == "Home",但代码响应好像没有响应,而且我不知道如何(如果可以)实时调试以查看发生了什么。最后,如果您仔细查看第二个链接,您会注意到一些常用的 ASP.NET 广告文本,这些文本似乎来自 BodyContent asp:Content 对象中的常用“Default.aspx”文件。但是,查看属性/Web 选项卡,我可以看到启动操作是特定页面:Home.aspx。
所以 - 希望我没有在这里添加大量不必要的信息,但至少足以让有更多经验的人帮助我找出我在这里做错了什么。
提前感谢您在这方面可以为我提供的任何帮助。