Asp.net mvc 4 如何获取另一个用户名?
我想问一下,当我已经用一个用户名登录时,如何访问另一个用户的用户名 我有一个控制器,我在其中向Users表添加一些字段Asp.net mvc 4 如何获取另一个用户名?,asp.net-mvc-4,Asp.net Mvc 4,我想问一下,当我已经用一个用户名登录时,如何访问另一个用户的用户名 我有一个控制器,我在其中向Users表添加一些字段 public ActionResult Index() { var username = db.Users.Find(User.Identity.GetUserId()); return View(username); } public ActionResult Edit() { ApplicationUser profile = db.Users.
public ActionResult Index()
{
var username = db.Users.Find(User.Identity.GetUserId());
return View(username);
}
public ActionResult Edit()
{
ApplicationUser profile = db.Users.Find(User.Identity.GetUserId());
if (profile == null)
{
return HttpNotFound();
}
return View(profile);
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit([Bind(Include = "Id, Nickname, FirstName, LastName, SecondName, City, Address, Description, TelNum")] ApplicationUser profile)
{
if (ModelState.IsValid)
{
var user = db.Users.Find(profile.Id);
if (user == null)
{
return HttpNotFound();
}
user.UserName = User.Identity.GetUserName();
user.FirstName = profile.FirstName;
user.SecondName = profile.SecondName;
user.LastName = profile.LastName;
user.Address = profile.Address;
user.City = profile.City;
user.TelNum = profile.TelNum;
user.Description = profile.Description;
db.Entry(user).State = EntityState.Modified;
db.SaveChanges();
return Redirect("/Profile/Index/" + profile.Id);
}
return View(profile);
}
当我点击那个链接时,我想在这里
<div>
<a href="Profile/Index/" style="color:black"><b>@item.Author</b></a>
</div>
转到其他用户配置文件。您不能“访问用户名”。这就是它的工作原理
您需要以这样一种方式来设计应用程序,即您可以基于任意用户呈现页面,确保如果存在未显示的敏感信息或不允许用户编辑信息,则用户不应能够显示这些信息
这意味着您需要提供一种基于其他因素(如用户名或用户ID)查找用户的方法。通常,这将通过URL传递,例如
然后,在profilescontroller.index方法中,获取该id,在数据库中查找用户,并基于该信息呈现页面。但是,这些都是您必须编写的内容。href=“Profile/Index/”
将重定向到Index()
方法。您需要一个方法,该方法具有一个参数,用于标识要显示的用户的ID或某些其他属性,例如详细信息(int-ID)
,并使用href=“Profile/Details/#”
调用它,其中#标识用户。