マイページへのログインに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"] }
ユーザー名を表示するには、次の方法を試しました。しかし、それは nullexception をスローします。
編集 :
@foreach (var m in IEnumerable<SampleECommerce.Models.LoginModels>)ViewData["UserName"])
{
@m.UserName
}