Asp.net mvc cshtml(错误)页面中的Razor代码产生错误
我从应用程序抛出404错误。Asp.net mvc cshtml(错误)页面中的Razor代码产生错误,asp.net-mvc,asp.net-mvc-3,razor,http-status-code-404,Asp.net Mvc,Asp.net Mvc 3,Razor,Http Status Code 404,我从应用程序抛出404错误。 404错误页面位于/ErrorPages/error\u 404.cshtml 在这个文件中,我只有HTML代码,它可以正常工作。 但如果我添加一些razor代码,它会在浏览器中抛出配置错误。 例如,我添加了布局或一些@Html.ActionLink(… 这是一个错误: 运行时错误 描述:服务器上发生应用程序错误。当前 此应用程序的自定义错误设置将阻止 无法查看应用程序错误 详细信息:允许显示此特定错误消息的详细信息 可在本地服务器计算机上查看,请创建 位于根目录中
404错误页面位于
/ErrorPages/error\u 404.cshtml
在这个文件中,我只有HTML代码,它可以正常工作。但如果我添加一些razor代码,它会在浏览器中抛出配置错误。
例如,我添加了布局或一些
@Html.ActionLink(…
这是一个错误: 运行时错误 描述:服务器上发生应用程序错误。当前 此应用程序的自定义错误设置将阻止 无法查看应用程序错误 详细信息:允许显示此特定错误消息的详细信息 可在本地服务器计算机上查看,请创建 位于根目录中的“web.config”配置文件中的标记 当前web应用程序的目录。此标记 然后应将其“mode”属性设置为“RemoteOnly” 要在远程计算机上查看详细信息,请将“模式”设置为 “关” 这就是我制作404的方式:
public ActionResult Search(string searchTerm)
{
if (city == null)
{
throw new HttpException(404, "Some description");
}
else
{
return RedirectToAction("Index", "Home", new
{...
}
}
当错误页面中没有razor代码时,它会工作,如果没有,我会从上面收到消息。当我在web配置中设置“mode=Off”时,会收到错误消息: 描述:HTTP 404。您正在查找的资源(或其 依赖项)可能已被删除、名称已更改或 暂时不可用。请查看以下URL并进行更改 确保它拼写正确 请求的URL:/CityPage/导航/搜索 这是来自web配置的值
<customErrors mode="Off">
<error statusCode="404" redirect="\ErrorPages\Error_cp404.cshtml" />
</customErrors>
您不应该试图直接呈现
.cshtml
页面。这些是Razor视图。在ASP.NET中,MVC视图是通过控制器操作提供的
因此:
您还可以通过签出来寻找处理错误的替代方法
如果在IIS7+中运行,可能还需要添加以下内容:
<system.webServer>
...
<httpErrors errorMode="Detailed" />
</system.webServer>
...
您不应该试图直接呈现.cshtml
页面。这些是Razor视图。在ASP.NET中,MVC视图是通过控制器操作提供的
因此:
您还可以通过签出来寻找处理错误的替代方法
如果在IIS7+中运行,可能还需要添加以下内容:
<system.webServer>
...
<httpErrors errorMode="Detailed" />
</system.webServer>
...
在web.config中将自定义错误设置为Off,并告诉我们实际的错误消息。@Judo如果他将自定义错误设置为Off,系统将不会呈现他的错误消息页面,而是显示默认的异常堆栈。1110,您应该调试该页面并显示实际错误我根据您的评论更新了我的问题。在web.con中将自定义错误设置为Offfig并告诉我们实际的错误消息。@Judo如果他设置了自定义错误,系统将不会呈现他的错误消息页面,而是显示默认的异常堆栈。1110,您应该调试该页面并显示实际错误。我根据您的评论更新了我的问题。您在链接中提供的答案解决了问题。谢谢。我认为razor页面可以n在没有控制器类的情况下工作。您在链接中提供的答案解决了问题。谢谢。我认为razor页面可以在没有控制器类的情况下工作。
<system.webServer>
...
<httpErrors errorMode="Detailed" />
</system.webServer>