[英]User.Identity is null in any Function (MVC 4)
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;
}
我在任何ActionResult中都獲得了User.Identity.Name,但在上述函數中卻沒有,為什么? 有沒有其他選擇? 為什么我得到用戶=空。 請幫助:)
注意:上面的函數/方法不是ActionResult ,我只有一個控制器。
我不知道它是否會有所幫助,但是HttpContext在上述函數中也為null ...我也從View調用了此函數
@{ LYCHE.Controllers.HomeController c = new LYCHE.Controllers.HomeController();
@Html.DropDownListFor(m => m.myTitle,c.AddressTitleList(), new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.myTitle)
我認為您正在使用System.Web.Security類,請通過在類上添加以下內容來確保初始化成員身份
[InitializeSimpleMembership]
例:
[Authorize]
[InitializeSimpleMembership]
public class MyController : Controller
{
// here is my class code
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.