【发布时间】:2018-08-15 12:59:41
【问题描述】:
我当前的操作如下所示:
[HttpPost]
public void AddMessage([FromBody] ShoutboxMessage input)
{
if (!string.IsNullOrWhiteSpace(input.Message) && Request.Cookies["usrid"] != null)
{
input.SbUserId = int.Parse(Request.Cookies["usrid"]);
input.Timestamp = DateTime.UtcNow;
context.ShoutboxMessages.Add(input);
context.SaveChanges();
}
}
我只想这样做:
[HttpPost]
public void AddMessage([FromBody] ShoutboxMessage input)
{
if (Request.Cookies["usrid"] == null)
RedirectToAction("Login");
if (!string.IsNullOrWhiteSpace(input.Message))
{
//...
}
}
但这显然行不通。有没有办法从应该返回无效的操作中重定向?或者,反过来,应该返回 ActionResult 的 Action 是否不会导致当前页面的任何重定向或重新加载?
编辑:“重复”与此无关。可能void 动作返回与EmptyResult 动作基本相同,但这不是这里的主题,基本上我想知道如何在运行时在EmptyResult 和ActionResult 之间进行选择。
【问题讨论】:
-
EmptyResult优于void。
标签: c# asp.net asp.net-mvc redirect