无法找到该资源。
说明:HTTP 404。您要查找的资源(或其依赖项之一)可能已被删除、名称已更改或暂时不可用。请查看以下 URL 并确保其拼写正确。
请求的 URL:/Customer/Reservation/Default.aspx
我应该如何解决这个问题?如果我将 Default.aspx 添加到文件夹保留中,这将解决我的问题,但有什么方法可以解决此错误?:)
提前致谢!
我假设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
页面添加到虚拟子目录。
只需添加文件。它给你这个错误的原因是因为它找不到文件夹的默认文档,而且(如果我没记错的话)IIS 默认情况下不会显示文件夹中的文件列表。
我真的不明白你是如何在这里遇到问题的。该错误具有相当的描述性。
你基本上有两个选择:
要么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”即可,这将为您提供足够的学习成果。