MVC5 对象引用未设置为 Scripts.Render 上的对象实例

2024-05-22

我正在使用 Asp.net MVC5,自从使用 Microsoft MVC 平台 4 年以来,还没有遇到过这样的模棱两可的错误!错误发生在Manage默认 MVC5 模板中的页面。这里在第 26 行 at the _layout.cshtml file:

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\项目\名称\名称\视图\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(字符串 部分视图名称、操作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 控制器上下文、ActionResult 动作结果) +56
System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList1 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 异步结果)+100
System.Web.Mvc.Async.WrappedAsyncResult1.CallEndDelegate(IAsyncResult asyncResult) +10
System.Web.Mvc.Async.WrappedAsyncResultBase
1.结束() +49
System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult 异步结果)+27
System.Web.Mvc.Controller.b__1d(IAsyncResult asyncResult、ExecuteCoreState 内部状态)+13
System.Web.Mvc.Async.WrappedAsyncVoid1.CallEndDelegate(IAsyncResult asyncResult) +36
System.Web.Mvc.Async.WrappedAsyncResultBase
1.结束() +54
System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult)+39 System.Web.Mvc.Controller.b__15(IAsyncResult asyncResult,控制器控制器)+12
System.Web.Mvc.Async.WrappedAsyncVoid1.CallEndDelegate(IAsyncResult asyncResult) +28
System.Web.Mvc.Async.WrappedAsyncResultBase
1.结束() +54
System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult)+29
System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult 异步结果)+10
System.Web.Mvc.MvcHandler.b__4(IAsyncResult asyncResult、ProcessRequestState 内部状态)+21
System.Web.Mvc.Async.WrappedAsyncVoid1.CallEndDelegate(IAsyncResult asyncResult) +36
System.Web.Mvc.Async.WrappedAsyncResultBase
1.结束() +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 步骤,布尔值&completedSynchronously) +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"));

NOTE:如果我注释错误行(样式/脚本捆绑行),错误将是@ViewBag.Title作为新的错误!我认为 Razor 视图引擎在这里遇到了麻烦,因为它无法实例化视图的代码要求,但是为什么?

我知道使用 Microsoft 技术时出现的一些错误与它所说的错误并不真正相关。请留下您的有益经验。谢谢。

Update: 简洁的内容为~/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>

我误用了ViewBag在主布局文件中以在其他页面中使用。我的结构ViewBag as a required领域所以我不得不实例化之前。但我忘了实例化它这导致引发这样的错误,它似乎与Scripts.Render.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MVC5 对象引用未设置为 Scripts.Render 上的对象实例 的相关文章