在asp.net mvc中实现returnurl

时间:2011-03-29 12:14:01

标签: asp.net-mvc

如何在asp.net mvc中实现returnurl?

2 个答案:

答案 0 :(得分:1)

你的问题很不清楚所以我只能猜测。我个人将returnUrl作为参数传递给需要重定向的操作:

[HttpPost]
public ActionResult Foo(string returnUrl)
{
    // TODO: some processing ...

    // TODO: sanitize the url ensuring that it belongs to the same domain
    return Redirect(returnUrl);
}

然后我构建HTML表单来调用操作并传递返回URL:

@using (Html.BeginForm())
{
    @Html.Hidden("returnUrl", Url.Action("someaction", "somecontroller"))
    <input type="submit" value="OK" />
}

答案 1 :(得分:0)

我们在其中一个项目中做过类似的事情。

在你的控制器中,为returnUrl添加一个参数,然后在你的方法中重定向到它。

public ActionResult SomeActionMethod(int id, string returnUrl)
{
    //do some stuff

    if (!string.IsNullOrWhiteSpace(returnUrl))
    {
        return Redirect(returnUrl);
    }
    else
    {
        //return whatever
    }
}