14

I'm using Asp.net MVC5 and haven't encountered such this ambiguous error since 4 years working with Microsoft MVC platform! The error occurs in Manage page in default MVC5 template. here in line 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) {

The Stack Trace says:

[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, 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 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult 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 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

Edit: As you wanted the bundling code, I placed one of them here:

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

NOTE: If I commentize the error lines (style/script bundling lines) The error will be @ViewBag.Title as the new error! I think the Razor view Engine got into trouble here, since it can't instantiate the view's codes requirements, But Why??

I know that some errors in working with Microsoft technologies aren't really related to the error that it says. Please left me your beneficial experiences. Thanks.

Update: The terse contents for ~/views/Account/Manage.cshtml file maybe useful:

@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>
25
  • Yes, I have all related bundling codes which are working on other pages fine. what happened? Commented Apr 7, 2015 at 12:58
  • Please show us the bundle config. Commented Apr 7, 2015 at 12:59
  • 1
    Maybe post some pieces of your Layout file? Commented Apr 9, 2015 at 13:14
  • 1
    Best way to resolve that is to not use ViewBag :) Commented Apr 9, 2015 at 19:59
  • 1
    Make a viewmodel to hold both models. Commented Apr 9, 2015 at 20:34

1 Answer 1

6

I misused ViewBag in master layout file to consume in other pages. My structure made ViewBag as a required field so I had to instantiate it before. But I forgot to instantiate it which caused to fire such this error and it seems to be irrelevant to Scripts.Render.

Sign up to request clarification or add additional context in comments.

2 Comments

For me, the @model declaration for the view model was null and that was causing the error. The error really did have nothing to do with the fix. It was telling me that a Styles.Render was a null reference.
Huh, I'm also getting an "object reference not set" exception on the bottom "@Scripts.Render(...)" call in my shared layout cshtml file, but I can see nothing wrong with anything. It's a super simple test site I'm using to follow along to a tutorial series. Grrrr

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.