相关疑难解决方法(0)

如何从ASP.NET MVC 3设置HTTP状态代码?

我们在前端使用OpenWeb js库,当发生某些类型的错误时,他们需要.NET中间层向他们发送特定的HTTP头状态代码.我试图通过这样做来实现这一点:

public ActionResult TestError(string id) // id = error code
{
    Request.Headers.Add("Status Code", id);
    Response.AddHeader("Status Code", id);
    var error = new Error();
    error.ErrorID = 123;
    error.Level = 2;
    error.Message = "You broke the Internet!";

    return Json(error, JsonRequestBehavior.AllowGet);
}
Run Code Online (Sandbox Code Playgroud)

它有点中途了.请参见屏幕截图: http状态代码http://zerogravpro.com/temp/pic.png

注意我在响应头中获得了400的状态代码,但我确实需要请求头中的400.相反,我得到"200 OK".我怎样才能做到这一点?

我进行调用的URL结构很简单:/ Main/TestError/400

.net c# asp.net-mvc-3

51
推荐指数
2
解决办法
8万
查看次数

如何在ASP.Net MVC 3中返回HttpNotFound()的视图?

每次从控制器返回HttpNotFoundResult时,有没有办法返回相同的视图?你如何指定这个视图?我猜测在web.config中配置404页面可能有效,但我想知道是否有更好的方法来处理这个结果.

编辑/跟进:

我最后使用了这个问题的第二个答案中找到的解决方案,并对ASP.Net MVC 3进行了一些微调,以处理我的404:如何正确处理ASP.Net MVC中的404?

asp.net asp.net-mvc-3

40
推荐指数
3
解决办法
3万
查看次数

MVC 4 HttpNotFound()和404错误

我有一个控制器,我在其中处理网址的一部分,如果它符合某些条件,我将返回一个视图,但如果没有,我将返回一个HttpNotFound().

现在我已经设置了一个友好的404页面,如果抛出404,用户将被重定向到该页面,为什么HttpNotFound不会重定向到此页面?

我希望404被抛出然后页面被重定向到web.config中设置的错误页面,但它只显示默认的404页面.我已经检查了其他不存在的URL,这些都重定向到正确的错误页面

asp.net-mvc http-status-code-404 asp.net-mvc-4

6
推荐指数
1
解决办法
5644
查看次数

当查询字符串参数不正确时,如何在ASP .NET MVC中返回404页面

让我们想象一下,我有以下行动

public ViewResult Products(string color)
{...}
Run Code Online (Sandbox Code Playgroud)

和url"products"映射到此操作的路由.

根据SEO提示链接/products?color=red应该返回

200好的

但链接 /products?someOtherParametr=someValue

404未找到

所以问题是 - 如何处理未出现的查询参数并在这种情况下返回404

asp.net-mvc asp.net-mvc-3 asp.net-mvc-4

1
推荐指数
2
解决办法
2654
查看次数