Asp.net 自定义错误页面的问题

cyw1592951 2012-10-15 09:32:17
背景:用到Xslt技术,请求页面是xml
先上WebConfig配置文件

<system.web>

<compilation debug="true" targetFramework="4.0" />
<customErrors mode="On" defaultRedirect="ErrorHandling.aspx">
<error statusCode="403" redirect="NotFound.aspx" />
<error statusCode="404" redirect="NotAcciess.aspx" />
</customErrors>
<authentication mode="Forms">
<forms loginUrl="~/Account/Login.aspx" timeout="2880" />
</authentication>
<!--其他节点就不在这里写了-->
</system.web>


aspx页面,模板页,vs生成页面不做任何改动,添加两个请求页面

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<link href="~/Styles/Site.css" rel="stylesheet" type="text/css" />
<asp:ContentPlaceHolder ID="HeadContent" runat="server">
</asp:ContentPlaceHolder>
</head>
<body>
<form runat="server">
<div class="page">
<div class="header">
<div class="title">
<h1>
我的 ASP.NET 应用程序
</h1>
</div>
<div class="loginDisplay">
<asp:LoginView ID="HeadLoginView" runat="server" EnableViewState="false">
<AnonymousTemplate>
[ <a href="~/Account/Login.aspx" ID="HeadLoginStatus" runat="server">登录</a> ]
</AnonymousTemplate>
<LoggedInTemplate>
欢迎使用 <span class="bold"><asp:LoginName ID="HeadLoginName" runat="server" /></span>!
[ <asp:LoginStatus ID="HeadLoginStatus" runat="server" LogoutAction="Redirect" LogoutText="注销" LogoutPageUrl="~/"/> ]
</LoggedInTemplate>
</asp:LoginView>
</div>
<div class="clear hideSkiplink">
<asp:Menu ID="NavigationMenu" runat="server" CssClass="menu" EnableViewState="false" IncludeStyleBlock="false" Orientation="Horizontal">
<Items>
<asp:MenuItem NavigateUrl="~/Default.aspx" Text="主页"/>
<asp:MenuItem NavigateUrl="~/About.aspx" Text="关于"/>
<asp:MenuItem NavigateUrl="~/pages/341181100000000027/2a53515a-9770-444a-bc98d181a3f61e.xml" Text="xml测试错误"/>
<asp:MenuItem NavigateUrl="~/pages/341181100000000027/2a53515a-9770-444a-bc9e-8d181ad3f61e.xml" Text="正常页面"/>
<asp:MenuItem NavigateUrl="~/Abot.aspx" Text="普通页面测试"/>
</Items>
</asp:Menu>
</div>
</div>
<div class="main">
<asp:ContentPlaceHolder ID="MainContent" runat="server"/>
</div>
<div class="clear">
</div>
</div>
<div class="footer">
</div>
</form>
</body>
</html>



请求正常的xml页面


请求不存在的aspx页面


请求不存在的xml页面


有没有大神知道为什么,或者要在iis里配置什么东西?
...全文
281 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
cyw1592951 2012-10-16
  • 打赏
  • 举报
回复

<system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
<handlers>
<add name="WebXslt-ISAPI-2.0-32bit" path="*.xml" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="Execute" preCondition="classicMode,runtimeVersionv2.0,bitness32" />
</handlers>
<httpErrors errorMode="Custom" defaultResponseMode="Redirect">
<remove statusCode="403" subStatusCode="-1" />
<remove statusCode="404" subStatusCode="-1" />
<error statusCode="404" prefixLanguageFilePath="" path="/NotAcciess.aspx" responseMode="ExecuteURL" />
<error statusCode="403" prefixLanguageFilePath="" path="/NotFound.aspx" responseMode="ExecuteURL" />
</httpErrors>
</system.webServer>


这样就搞定了!
cyw1592951 2012-10-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

web.config配置自定义错误页面只能针对.aspx,要对其他类型页面配置自定义错误页面需要在iis中配置
[/Quote]

主要就是这个配置,让我一时摸不着头脑,配置不知道从哪里配起...
beyond_me21 2012-10-15
  • 打赏
  • 举报
回复
web.config配置自定义错误页面只能针对.aspx,要对其他类型页面配置自定义错误页面需要在iis中配置
beyond_me21 2012-10-15
  • 打赏
  • 举报
回复
直接修改对应错误类型的文件地址不就可以了吗
cyw1592951 2012-10-15
  • 打赏
  • 举报
回复
cyw1592951 2012-10-15
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

如果是iis7
[/Quote]

这里边儿要如何配置
beyond_me21 2012-10-15
  • 打赏
  • 举报
回复
如果是iis7
beyond_me21 2012-10-15
  • 打赏
  • 举报
回复
你是iis 7还是iis6?

61,658

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧