ASP.NET MVC - 通过传递一些数据重定向到Controller/Action

xra*_*inx 1 asp.net-mvc

我在不同的控制器中有动作,需要在执行前检查一些条件.如果不满足条件,我希望将用户重定向到另一个页面,其中包含有关下一步操作的说明(说明将包含用户必须遵循的链接).

例如,SendMessage()操作位于Message控制器中:

public ActionResult SendMessage()
{
    // check if user has enough credit
    if (!hasEnoughCredit(currentUser))
    {
        // redirect to another page that says:

        // "You do not have enough credit. Please go to LinkToAddCreditAction
        // to add more credit."
    }

    // do the send message stuff here 
}
Run Code Online (Sandbox Code Playgroud)

我想在Requirements控制器中有一个名为ShowRequirements()的通用操作.

在SendMessage()操作中,我想设置要向用户显示的消息,然后将用户转发到ShowRequirements()操作.我只是不希望该消息出现在ShowRequirements操作的URL中.

有没有办法将这些数据传达给ShowRequirements()动作?

Joh*_*han 6

您可以将它放在TempData ["message"]中,该值将传递给重定向到的新操作.