ASP.NET Web应用中添加新Web窗体超链接遇IIS错误如何解决?
解决ASP.NET Web应用中超链接指向Web窗体的IIS错误
嘿,我来帮你搞定这个IIS错误问题!从你的描述和截图来看,问题出在超链接的路径设置上,咱们一步步来排查解决:
1. 修正超链接的路径
你当前用的链接是:
<a href = "~/Products">Products</a>
这里的问题在于,~/Products指向的是应用根目录下名为Products的文件或者路由规则,但你的实际页面是在Products文件夹里的Products.aspx。所以正确的路径应该指向具体的页面文件:
<a href="~/Products/Products.aspx">Products</a>
ASP.NET里的~符号代表应用的根目录,这个路径会准确找到你放在Products文件夹里的Web窗体。
2. (可选)配置友好URL路由(如果想用~/Products访问)
如果你希望用更简洁的~/Products来访问页面,而不是带.aspx后缀的路径,可以在项目的Global.asax文件中添加路由规则:
void Application_Start(object sender, EventArgs e) { // 注册路由 RouteTable.Routes.MapPageRoute( "ProductsRoute", // 路由名称 "Products", // 友好URL "~/Products/Products.aspx" // 实际页面路径 ); }
添加这个规则后,原来的<a href="~/Products">Products</a>就能正常访问页面了。
3. 确认文件和项目设置
- 检查
Products文件夹确实位于应用的根目录下(和你的主页文件同级),从你的解决方案资源管理器截图看这点应该没问题,但再确认下更稳妥。 - 右键
Products.aspx文件→属性,确保“复制到输出目录”设置为如果较新则复制或者始终复制,避免本地运行时文件没有被正确部署到IIS Express的目录中。 - 右键项目→属性→Web选项卡,确认“虚拟路径”设置为
/(根路径),这样~符号才能正确映射到应用根目录。
按上面的步骤调整后,你的超链接应该就能正常访问Products页面啦!
内容的提问来源于stack exchange,提问作者Redmond
相关产品推荐
相关产品推荐

