Подтвердить что ты не робот

MVC5 Ссылка на объект не установлена ​​в экземпляр объекта в скриптах. Render

Я использую Asp.net MVC5 и не сталкивался с такой двусмысленной ошибкой с 4 лет работы с платформой Microsoft MVC! Ошибка возникает на странице "Управление" в шаблоне MVC5 по умолчанию. здесь в строке 26 в файле _layout.cshtml:

Line 24:     <![endif]-->
Line 25: 
Line 26:     @Scripts.Render("~/js/intf")
Line 27:     <script>
Line 28:         if (document.documentMode === 10) {

Трассировка стека говорит:

[NullReferenceException: ссылка на объект не установлена ​​в экземпляр объект.] ASP._Page_Views_Shared__Layout_cshtml.Execute() в c:\Users\fake\Documents\Visual Studio 2013\Projects\имя\имя\Views\Shared_Layout.cshtml: 26
System.Web.WebPages.WebPageBase.ExecutePageHierarchy() +198
System.Web.Mvc.WebViewPage.ExecutePageHierarchy() +104
System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage) +90
System.Web.WebPages <. > C__DisplayClass7.b__6 (TextWriter писатель) +232 System.Web.WebPages.HelperResult.WriteTo(TextWriter автор) +10 System.Web.WebPages.WebPageBase.Write(HelperResult результат) +80
System.Web.WebPages.WebPageBase.RenderSurrounding(String partialViewName, Действие 1 body) +63
System.Web.WebPages.WebPageBase.PopContext() +267
System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage) +98
System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance) +235
System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer) +107
System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context) +291 System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext controllerContext, ActionResult actionResult) +13
System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList
1 фильтры, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) +56
System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList 1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) +420
System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList
1 фильтр, ActionResult actionResult) +52
System.Web.Mvc.Async <. > C__DisplayClass28.b__19() +173 System.Web.Mvc.Async. < > c__DisplayClass1e.b__1b (IAsyncResult asyncResult) +100
System.Web.Mvc.Async.WrappedAsyncResult 1.CallEndDelegate(IAsyncResult asyncResult) +10
System.Web.Mvc.Async.WrappedAsyncResultBase
1.End() +49
System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +27
System.Web.Mvc.Controller.b__1d (IAsyncResult asyncResult, ExecuteCoreState innerState) +13
System.Web.Mvc.Async.WrappedAsyncVoid 1.CallEndDelegate(IAsyncResult asyncResult) +36
System.Web.Mvc.Async.WrappedAsyncResultBase
1.End() +54
System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +39 System.Web.Mvc.Controller.b__15 (IAsyncResult asyncResult, контроллер контроллера) +12
System.Web.Mvc.Async.WrappedAsyncVoid 1.CallEndDelegate(IAsyncResult asyncResult) +28
System.Web.Mvc.Async.WrappedAsyncResultBase
1.End() +54
System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +29
System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult) +10
System.Web.Mvc.MvcHandler.b__4 (IAsyncResult asyncResult, ProcessRequestState innerState) +21
System.Web.Mvc.Async.WrappedAsyncVoid 1.CallEndDelegate(IAsyncResult asyncResult) +36
System.Web.Mvc.Async.WrappedAsyncResultBase
1.End() +54
System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +31 System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult результат) +9
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +9688704 System.Web.HttpApplication.ExecuteStep(шаг IExecutionStep, Boolean и завершено синхронно) +155

Edit: Поскольку вам нужен код связывания, я поместил один из них здесь:

bundles.Add(new ScriptBundle("~/js/intf").Include(//first internal scripts
                "~/js/jquery*",
                "~/js/modernizr.js",
                "~/js/ie-prototype-polyfill.js",
                "~/js/prettyPhoto.js"));

ПРИМЕЧАНИЕ. Если я прокомментирую строки ошибок (стиль/ script связывание строк) Ошибка будет @ViewBag.Title в качестве новой ошибки! Я думаю, что в Razor Engine Engine попали проблемы, поскольку он не может создавать требования кодов представления, но почему?

Я знаю, что некоторые ошибки при работе с технологиями Microsoft не связаны с ошибкой, о которой он говорит. Пожалуйста, оставите мне свой полезный опыт. Спасибо.

Обновление: Тесное содержимое файла ~/views/Account/Manage.cshtml может быть полезно:

@using Social.Models;
@using Microsoft.AspNet.Identity;

@{
    ViewBag.Title = "manage";
}

<div class="layout-app">

    <div class="row row-app margin-none">

        <div class="col-md-12">

            @if (ViewBag.HasLocalPassword)
            {
                 @Html.Partial("_ChangePasswordPartial")
            }
            else
            {
                 @Html.Partial("_SetPasswordPartial")
            }
        </div>
    </div>
</div>
4b9b3361

Ответ 1

Так как я использовал ViewBag в главном файле макета как обязательную переменную для отображения страниц проекта, пропуская ее инициализацию, чтобы показать мне такую ​​ошибку! Это была одна из нерелевантных ошибок, которые я видел из технологий разработки Microsoft.

Ответ 2

Попробуйте создать новый файл javascript, например, в папке Scripts в вашем решении MVC и вызвать файл app.js(или что-нибудь еще).

Затем поместите следующую строку под другие строки @scripts.Render, чтобы запустить ее.

<script src="@Scripts.Url("~/Scripts/app.js")"></script>

В противном случае добавьте файл в пакет.