Задать вопрос
MickMS
@MickMS
человек

Ссылка на объект не указывает на экземпляр объекта, в чем может быть проблема?

Всем доброго времени суток, начал изучать ASP.NET MVC, на хабрхабр наткнулся на серию полезных уроков по ASP.NET MVC, встал на одном из уроков: ASP NET.MVC Урок 3. Работа с БД (), все делал по примеру, при сборке все нормально ,при выполнении происходит исключение типа:
System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта.
998fa2323e0040afb3c1adb776cef669.png
Вообще думаю я на этот Ninject пишут люди, что штука нужная, согласен, но пока с ним не в ладах.
Приведу код.
Репозиторий:
public class  SQLRepository : IRepository
{   
 [Inject]
        public DBLDataContext _db { get; set; }
        public IQueryable<Role> Roles { get { return _db.Role; } }

        public bool CreateRole(Role instance)
        {
            if (instance.Id == 0)
            {
                _db.Role.InsertOnSubmit(instance);
                _db.Role.Context.SubmitChanges();
                return true;
            }
            return false;
        }
}

Сам интерфейс:
public Interface IRepository
{
  IQueryable<Role> Roles { get; }
        bool CreateRole(Role instance);
        bool UpdateRole(Role instance);
        bool RemoveRole(int Id);
}

Контроллер:
[Inject]
        IRepository Repository { get; set; }
        public ActionResult Index()
        {         
            ViewBag.R= Repository.Roles.ToList();
            return View();//по примеру данные из таблицы "Роли" пробрасывались в переменную var и передавались в качестве аргумента метода View()
        }

В чем беда не могу понять... Сижу уже много часов и ломаю над этим голову.
  • Вопрос задан
  • 5309 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
MickMS
@MickMS Автор вопроса
человек
Вот держите:
[NullReferenceException: Ссылка на объект не указывает на экземпляр объекта.]
   Test.Models.SQLRepository.get_Roles() in c:\Users\Михаил\Documents\Visual Studio 2013\Projects\Test\Test\Models\SQLRepository.cs:58
   Test.Controllers.HomeController.Index() in c:\Users\Михаил\Documents\Visual Studio 2013\Projects\Test\Test\Controllers\HomeController.cs:19
   lambda_method(Closure , ControllerBase , Object[] ) +62
   System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters) +14
   System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters) +211
   System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +27
   System.Web.Mvc.Async.<>c__DisplayClass42.<BeginInvokeSynchronousActionMethod>b__41() +28
   System.Web.Mvc.Async.<>c__DisplayClass8`1.<BeginSynchronous>b__7(IAsyncResult _) +10
   System.Web.Mvc.Async.WrappedAsyncResult`1.End() +57
   System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) +48
   System.Web.Mvc.Async.<>c__DisplayClass39.<BeginInvokeActionMethodWithFilters>b__33() +57
   System.Web.Mvc.Async.<>c__DisplayClass4f.<InvokeActionMethodFilterAsynchronously>b__49() +223
   System.Web.Mvc.Async.<>c__DisplayClass37.<BeginInvokeActionMethodWithFilters>b__36(IAsyncResult asyncResult) +10
   System.Web.Mvc.Async.WrappedAsyncResult`1.End() +57
   System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult) +48
   System.Web.Mvc.Async.<>c__DisplayClass2a.<BeginInvokeAction>b__20() +24
   System.Web.Mvc.Async.<>c__DisplayClass25.<BeginInvokeAction>b__22(IAsyncResult asyncResult) +102
   System.Web.Mvc.Async.WrappedAsyncResult`1.End() +57
   System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +43
   System.Web.Mvc.<>c__DisplayClass1d.<BeginExecuteCore>b__18(IAsyncResult asyncResult) +14
   System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +23
   System.Web.Mvc.Async.WrappedAsyncResult`1.End() +62
   System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +57
   System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +23
   System.Web.Mvc.Async.WrappedAsyncResult`1.End() +62
   System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +47
   System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult) +10
   System.Web.Mvc.<>c__DisplayClass8.<BeginProcessRequest>b__3(IAsyncResult asyncResult) +25
   System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +23
   System.Web.Mvc.Async.WrappedAsyncResult`1.End() +62
   System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +47
   System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result) +9
   System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +9657896
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
wkololo_4ever
@wkololo_4ever
Выложите stack trace, возможны несколько вариантов причины возникновения ошибки.
Ну или весь проект.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы