Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 代码如何通过response.redirect?_C#_Asp.net_Asp.net Mvc - Fatal编程技术网

C# 代码如何通过response.redirect?

C# 代码如何通过response.redirect?,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,我有下面的代码块。我不明白代码怎么能通过 Response.Redirect("~..") 的确如此。我认为任何超过这一行的代码都不会自动执行。我是不是错过了一些基本的东西?我发现调试器实际上在执行下一行 public ActionResult Index() { Response.Redirect("~/Default.aspx", true); string year = Utils.ConvertCodeCampYe

我有下面的代码块。我不明白代码怎么能通过

Response.Redirect("~..")
的确如此。我认为任何超过这一行的代码都不会自动执行。我是不是错过了一些基本的东西?我发现调试器实际上在执行下一行

    public ActionResult Index()
    {
        Response.Redirect("~/Default.aspx", true);

        string year =
           Utils.ConvertCodeCampYearToActualYear(
               Utils.GetCurrentCodeCampYear().ToString(CultureInfo.InvariantCulture));
        var viewModel = GetViewModel(year);
        return View(viewModel);
    }

您需要
返回它。这是一个函数。在您的情况下,您可以使用
重定向

return Redirect("~/Default.aspx");

将所有
Response.Redirect()
does(really)设置为指定URI的
location=
响应头,并将http状态设置为
302 Found
。它还会在响应中编写一个小的存根HTML,并带有指向新URI的链接,但这只是一个装饰


除非您使用允许您指定是否应通过
bool
标志继续处理的重载,否则处理将继续。如果
bool
标志为true,则响应处理将通过中止处理请求的线程来终止,抛出
ThreadAbortException
作为副作用。

我认为您对MVC框架的功能有误解。这是一种webforms方法。ActionResults必须将操作返回到函数。即使在webforms中,Response.Redirect也不会停止执行,所有超出此范围的代码仍将执行谢谢大家!真棒的答案。我应该用反射器看它,我会知道的。我重新陷入了“网络表单”的思维,忘记了思考到底发生了什么。然后让返回的actiontype无效?不,让它作为返回ActionResult