对象引用未设置为对象的实例:我没有做什么
本文关键字:什么 实例 设置 对象 对象引用 | 更新日期: 2023-09-27 18:11:00
我的控制器中有我的create View的get和post方法。当我运行这个时,它给了我一个错误:{"对象引用未设置为对象的实例。"剩下的代码是create get和post方法。有人知道我可能做错了什么吗?
// GET: /Title/Create
public ActionResult Create()
{
var model = new title
{
create_dt = DateTime.Now,
last_maint_dt = DateTime.Now,
row_version = 1,
status = "ACTIVE",
user_id = currentUser.UserName,
last_user_id = currentUser.UserName
};
return View(model);
}
// POST: /Title/Create
[HttpPost]
public ActionResult Create(title title)
{
if (ModelState.IsValid)
{
db.titles.Add(title);
db.SaveChanges();
return RedirectToAction("Index");
}
if (Request.IsAuthenticated)
{
currentUser = Membership.GetUser(false);
if (currentUser != null)
{
userid = (Guid)currentUser.ProviderUserKey;
}
}
var model = new title
{
create_dt = DateTime.Now,
last_maint_dt = DateTime.Now,
row_version = 1,
status = "ACTIVE",
user_id = currentUser.UserName,
last_user_id = currentUser.UserName
};
return View(model);
}
您有条件地调用Membership.GetUser
,并且显然期望它可以返回null…如果请求没有经过认证,你甚至没有给currentUser
赋值。但是,在构建模型时,您将两次获取currentUser.UserName
。如果currentUser
为空,则显然失败。
真的,你应该看看异常的堆栈跟踪——它应该告诉你哪里出了问题。