如何重定向到函数内的另一个动作

时间:2018-07-13 13:05:12

标签: c# asp.net-mvc redirect

我正在测试带有会话对象的条件,如果条件为假,则需要重定向到某个地方。我想做一个功能。通常我会:

public ActionResult SomeAction()
{
    if (Session["level"] == null)
        return RedirectToAction("Home", "Whatever");

    if ((int)Session["level"] == 1)
        return RedirectToAction("Choose", "Whatever");

    // The rest of the code
}

但是我开始在每个动作中都有很多……我觉得这有点不对,我想将它们全部放在一个函数中,这样我就可以专注于the rest of the code

public ActionResult SomeAction()
{
    MaybeRedirect();

    // The rest of the code
}

public void MaybeRedirect()
{
    if (Session["level"] == null)
        return RedirectToAction("Home", "Whatever");

    if ((int)Session["level"] == 1)
        return RedirectToAction("Choose", "Whatever");
}

RedirectToAction函数未返回ActionResult时...它当然什么也没做。

1 个答案:

答案 0 :(得分:3)

我建议使用以下模式。 关键是返回self.icdDataView.setColumnWidth(1, 100) self.icdDataView.setColumnWidth(3, 100) hdr = self.icdDataView.horizontalHeader() #hdr.setSectionResizeMode(1, QHeaderView.ResizeToContents) hdr.setSectionResizeMode(2, QHeaderView.Stretch) #hdr.setSectionResizeMode(3, QHeaderView.ResizeToContents) 表示“请不要重定向”。

null