ASP.NET Default.aspx

时间:2012-08-19 15:33:28

标签: c# asp.net

无法找到资源。

描述:HTTP 404.您正在查找的资源(或其中一个依赖项)可能已被删除,名称已更改或暂时不可用。请查看以下网址,确保拼写正确。

请求的网址:/Customer/Reservation/Default.aspx

我该如何解决这个问题?如果我将Default.aspx添加到文件夹保留,将解决我的问题,但有没有办法解决这个错误? :)

提前致谢!

3 个答案:

答案 0 :(得分:1)

我假设Default.aspx位于虚拟目录Customer或root中,您正在开发可能已添加到/Customer/Reservation页面的用户控件?如果是这样,请在服务器端使用ResolveUrl

Response.Redirect(ResolveUrl("~/Default.aspx"));

或者要在标记中创建该目录的链接,请使用:

<a href="<% = ResolveUrl("~/Default.aspx") %>">Click here to go home</a>

但是,如果您只是尝试导航到/Customer/Reservation,并在IIS中将默认页面设置为Default.aspx,那么您必须向虚拟主机添加Default.aspx页面子目录。

答案 1 :(得分:0)

只需添加文件即可。它给你这个错误的原因是因为它无法找到文件夹的默认文档(如果我没记错的话)IIS默认情况下不显示文件夹中的文件列表。

我真的不知道你在这里遇到了什么问题。该错误具有相当的描述性。

答案 2 :(得分:0)

您基本上有两种选择:

create that fileuse routing to map that address to a desired file

第二种方法的例子:

protected void Application_Start(object sender, EventArgs e)
{
   RegisterRoutes(RouteTable.Routes);
}

private void RegisterRoutes(RouteCollection routes)
{
   routes.MapPageRoute("customer-reservation", // name of the route
                       "Customer/Reservation", // url to look for
                       "~/Pages/reservation.aspx");  // existing file to map to
}

请注意,如果您使用的是webforms,则至少需要.NET版本4或更高版本,或者使用MVC才能使用它。如果您使用较低的.NET版本而不使用MVC,则需要一个url重写模块(在Google上搜索它,返回大量结果)。

注意2:此示例属于Global.asax.cs文件。

注3:此处可以找到另一个示例:http://weblogs.asp.net/jalpeshpvadgama/archive/2011/12/11/easy-url-rewriting-in-asp-net-4-0-web-forms.aspx

如果您需要查找有关此主题的更多资源,只需输入“asp.net routing”即可获得足够的结果以供学习。