我在我的页面中使用 Directoryservices 登录。我需要将用户名传递给我的母版页以在所有页面中显示用户名。
我得到了用户名并将其存储在 ViewData 中。如何在 masterpage 中传递 viewdata 值。
我的代码:
[HttpPost]
public ActionResult Index(LoginModels model)
{
if (ModelState.IsValid)
{
string DisplayUserName = string.Empty;
string LoginUser = model.Userid;
string LoginPassword = model.Password;
string name = model.UserName
if (ValidateActiveDirectoryLogin(LoginUser, LoginPassword, out DisplayUserName) == true)
{
model.UserName = DisplayUserName;
ViewData["UserName"] = "Welcome" + DisplayUserName;
return RedirectToAction("Index", "MPP", new { UserID = LoginUser });
}
else
{
ModelState.AddModelError("","Invalid Username or Password");
}
}
return View();
}
在布局页面中:
@{ @ViewData["UserName"] }
我尝试了以下方式来显示用户名。但它会抛出空异常。
编辑 :
@foreach (var m in IEnumerable<SampleECommerce.Models.LoginModels>)ViewData["UserName"])
{
@m.UserName
}