gpt4 book ai didi

c# - 找不到 RedirectToLocal

转载 作者:IT王子 更新时间:2023-10-29 04:53:35 26 4
gpt4 key购买 nike

我有这段代码:

using Solutionsecurity.web.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Security;

namespace Solutionsecurity.web.Controllers
{
public class HomeController : Controller
{


public ActionResult Login() {
return View(new User());
}

[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public ActionResult Login(User u, string ReturnUrl) {

if (Membership.ValidateUser(u.login, u.password))
{
return RedirectToLocal(ReturnUrl);
}
else {
return View(u);
}
}

[Authorize]
public ActionResult Common()
{
return View();
}
}
}

我不知道为什么找不到 RedirectToLocal !!!在这一行:

return RedirectToLocal(ReturnUrl);

有什么想法吗?

最佳答案

RedirectToLocal 不是框架的一部分。它被添加到帐户 Controller 中的一些 MVC 模板中:

这取自 MVC5 模板 AccountController:

private ActionResult RedirectToLocal(string returnUrl)
{
if (Url.IsLocalUrl(returnUrl))
{
return Redirect(returnUrl);
}
else
{
return RedirectToAction("Index", "Home");
}
}

如果你想在你的所有 Controller 中使用这个方法,那么你可以很容易地将它作为一个 protected 方法添加到一个基础 Controller 中,并让你的所有 Controller 都继承自该基础:

public abstract class BaseController : Controller
{
protected ActionResult RedirectToLocal(string returnUrl)
{
if (Url.IsLocalUrl(returnUrl))
{
return Redirect(returnUrl);
}
else
{
return RedirectToAction("Index", "Home");
}
}
}

public class HomeController : BaseController
{
// ...
}

关于c# - 找不到 RedirectToLocal,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23153774/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com