首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RedirectToAction被忽略

RedirectToAction被忽略
EN

Stack Overflow用户
提问于 2015-12-14 06:50:23
回答 1查看 2.9K关注 0票数 3

我使用的是ASP.NET 5,使用浏览器Chrome。

我的控制器有以下操作方法

代码语言:javascript
复制
public async Task<IActionResult> Index()
{
    return View();
}

[HttpPost]
public IActionResult DoSomething()
{
    //do something
    return RedirectToAction("Index");
}

当我跑的时候

http://localhost:59693/MyArea/MyController/DoSomething

通过索引中的帖子

在这条线上有一个断点

代码语言:javascript
复制
 return RedirectToAction("Index");

它只是忽略这一行,然后转到下一行,而不调用Index action方法。

并在浏览器中显示。

http://localhost:59693/MyArea/MyController/DoSomething

有一个空白的屏幕。

当然,如果您有一个return语句,那么它将立即从该方法返回,不会跳转到下一行。真的很奇怪。

我甚至尽了全力

代码语言:javascript
复制
 return RedirectToAction("Index","MyController,new {area="MyArea"});

当我在Index方法上放置一个断点时,它永远不会被击中。

我甚至试过

代码语言:javascript
复制
 return Redirect("http://www.google.com");

它仍然显示

http://localhost:59693/MyArea/MyController/DoSomething

ASP.NET 5中的一些bug?

如果上面的操作方法不起作用,如何从同一控制器中的动作方法调用操作方法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-14 07:35:22

我将我的DoSomething操作方法改为异步的,并添加了一个等待子句

代码语言:javascript
复制
[HttpPost]
public async Task<IActionResult> DoSomething()
{
    await _db.callsql();
    //do something start

    return RedirectToAction("Index");
}

问题似乎是因为actionmethod Index是异步的,但DoSomething不是异步的,再加上我跨出了代码。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34261205

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档