我有一个链接去
<a class="k-link" href="/UserView/EditByName?UserName=MVCTest6">Profile</a>
当点击它的链接时,它会转到这个
URL: http://localhost:3256/MVCTest6/Create
当我以管理员用户身份登录时有效。(该文件夹在将其分开的 web.config 中没有安全性)。此链接实际上适用于页面的另一部分。
该用户也已经存在并已通过身份验证。
请问可以解释一下吗?
我有一个链接去
<a class="k-link" href="/UserView/EditByName?UserName=MVCTest6">Profile</a>
当点击它的链接时,它会转到这个
URL: http://localhost:3256/MVCTest6/Create
当我以管理员用户身份登录时有效。(该文件夹在将其分开的 web.config 中没有安全性)。此链接实际上适用于页面的另一部分。
该用户也已经存在并已通过身份验证。
请问可以解释一下吗?
我得到它 !这就是问题所在,
return RedirectToAction("Create", User.Identity.Name);
你正在使用这个重载RedirectToAction("Action", "Contoller");
所以后面的部分作为控制器。如果您尝试将值传递给另一个动作,请尝试符合您要求的其他重载,这必须像
return RedirectToAction("Create", new {UserName = User.Identity.Name});
如果未创建用户配置文件,我忘记了我有重定向的逻辑。这是造成问题的原因。我的测试用户没有设置配置文件,所以它被重定向到创建页面
public ActionResult EditByName(string userName)//EditByName
{
if (User.Identity.IsAuthenticated)
{
UserModel usermodel = repository.Get(User.Identity.Name);// db.UserModels.Find(id);
if (usermodel == null)
{
return RedirectToAction("Create", User.Identity.Name);
}
return View(usermodel);
}
else { return RedirectToAction("Login", controllerName: "AccountView"); }
}