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

前端之家收集整理的这篇文章主要介绍了c# – MVC5对象引用未设置为Scripts.Render上对象的实例前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用 Asp.net MVC5,并没有遇到这样的这个模糊的错误,因为使用Microsoft MVC平台4年以上!错误发生在默认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: Object reference not set to an instance of an
object.] ASP._Page_Views_Shared__Layout_cshtml.Execute() in
c:\Users\fake\Documents\Visual Studio
2013\Projects\name\name\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
writer) +232 System.Web.WebPages.HelperResult.WriteTo(TextWriter
writer) +10 System.Web.WebPages.WebPageBase.Write(HelperResult
result) +80
System.Web.WebPages.WebPageBase.RenderSurrounding(String
partialViewName,Action1 body) +63
System.Web.WebPages.WebPageBase.PopContext() +267
System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext
pageContext,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
filters,Int32 filterIndex,ResultExecutingContext preContext,
ControllerContext controllerContext,ActionResult actionResult) +56
System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList1
filters,ActionResult actionResult) +420
System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext
controllerContext,IList
1 filters,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.WrappedAsyncResult1.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.WrappedAsyncVoid1.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,Controller controller) +12
System.Web.Mvc.Async.WrappedAsyncVoid1.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.WrappedAsyncVoid1.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
result) +9
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
+9688704 System.Web.HttpApplication.ExecuteStep(IExecutionStep step,Boolean& completedSynchronously) +155

编辑:
当你想要捆绑代码时,我把其中一个放在这里:

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

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

我知道使用微软技术的一些错误并不与它所说的错误有关.请给我留下你的有益经验.谢谢.

更新:
〜/ 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作为显示项目页面的必需变量,所以缺少初始化,让我看到这样的错误!迄今为止,我从微软开发技术中看到的一个不相干的错误之一.

猜你在找的C#相关文章