1

无法找到该资源。

说明:HTTP 404。您要查找的资源(或其依赖项之一)可能已被删除、名称已更改或暂时不可用。请查看以下 URL 并确保其拼写正确。

请求的 URL:/Customer/Reservation/Default.aspx

我应该如何解决这个问题?如果我将 Default.aspx 添加到文件夹保留中,这将解决我的问题,但有什么方法可以解决此错误?:)

提前致谢!

4

3 回答 3

1

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

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

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

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

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

于 2012-08-19T15:41:47.847 回答
0

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

我真的不明白你是如何在这里遇到问题的。该错误具有相当的描述性。

于 2012-08-19T15:35:25.987 回答
0

你基本上有两个选择:

要么create that file要么use 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
}

请注意,如果您使用 Web 表单,则至少需要 .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”即可,这将为您提供足够的学习成果。

于 2012-08-19T15:41:04.990 回答