Ссылка на объект не установлена ​​для экземпляра объекта: что я не делаю? - PullRequest
0 голосов
/ 11 октября 2011

У меня есть методы get и post для создания View в моем контроллере.Когда я запускаю это, он выдает мне ошибку: {"Ссылка на объект не установлена ​​для экземпляра объекта."} Остальная часть кода - это методы 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);
}

1 Ответ

3 голосов
/ 11 октября 2011

Вы условно вызываете Membership.GetUser и явно ожидаете, что он может вернуть ноль ... и если запрос не аутентифицирован, вы даже не присваиваете значение currentUser.Однако при построении модели вы получаете currentUser.UserName дважды.Это, очевидно, потерпит неудачу, если currentUser равно нулю.

Действительно, вы должны посмотреть на трассировку стека исключения - это должно показать вам, где что-то идет не так.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...