0

間違った役割を持つユーザーを別のページに送りたいのですが、次の場合に使用します。

return RedirectToAction("Index", "Home");

エラーが発生します:

Cannot implicitly convert type 'System.Web.Mvc.RedirectToRouteResult' to 'System.Web.Mvc.ViewResult'

httpPOSTではなくhttpGETを使用しているため、このエラーは発生しますか?

これが私のコードです。

public ViewResult Index()
{
    if (User.IsInRole("Administrator") | User.IsInRole("SuperAdministrator"))
    {
        //Do Admin Things
        return View()
    }
    else
    {
        // Send to a different page
        return RedirectToAction("Index", "Home"); // I want to do this, but it gives me an error
    }

この状況での役割に基づいてユーザーをリダイレクトするにはどうすればよいですか?

4

2 に答える 2

4

ActionResultメソッドを変更して、の代わりに戻るようにしViewResultます。後者は、が返されることを期待しますがView()、前者は、RedirectToActionおよびによって返されるものなど、任意のタイプのActionResultオブジェクトを許可する基本タイプです。View

于 2012-04-20T12:28:31.693 に答える
2
public ActionResult Index(){

}

それ以外の

public ViewResult Index(){

}
于 2012-04-20T12:30:07.950 に答える