public List<SelectListItem> AddressTitleList()
{
string ID = User.Identity.Name;
List<SelectListItem> title = new List<SelectListItem>();
using (LYCHEEntities DB = new LYCHEEntities())
{
int ID = Convert.ToInt16(User.Identity.Name.ToString());
var titles = from g in DB.UserAddresses
where g.UserID == ID
select new { g.Title, g.UserAddressID };
foreach (var q in titles)
{
title.Add(new SelectListItem() { Text = q.Title, Value = q.UserAddressID.ToString() });
}
}
return title;
}
我越來越User.Identity.Name任何的ActionResult但不是在上面的函數,爲什麼呢?除此之外還有其他的選擇嗎?爲什麼我得到User = Null。好心幫:)User.Identity是空的任何功能(MVC 4)
注:以上函數/方法不是的ActionResult,我只有一個控制器。
我不知道它會幫助或沒有,但HttpContext的也是上面的函數空......還我從查看
@{ LYCHE.Controllers.HomeController c = new LYCHE.Controllers.HomeController();
@Html.DropDownListFor(m => m.myTitle,c.AddressTitleList(), new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.myTitle)
請描述更多的上下文。您可以在具有上述功能的同一控制器類的另一個ActionResult中獲取User.Identity.Name嗎?或者你把以上功能放在哪裏 –
我只有一個控制器,所以,它是在同一個控制器中。是的,我可以在同一個控制器的任何ActionResult中獲得它。 –
您是否爲該方法添加了[Authorize]屬性? – LittleDragon