[NullReferenceException: Object reference not set to an instance of an object.]
System.Web.HttpServerVarsCollection.Get(String name) +109
System.Web.Mvc.UrlRewriterHelper.WasThisRequestRewritten(HttpContextBase httpContext) +59
System.Web.Mvc.PathHelpers.GenerateClientUrlInternal(HttpContextBase httpContext,String contentPath) +213
System.Web.Mvc.PathHelpers.GenerateClientUrlInternal(HttpContextBase httpContext,String contentPath) +168
System.Web.Mvc.PathHelpers.GenerateClientUrl(HttpContextBase httpContext,String contentPath) +148
LeadManager.Web.UI.Helpers.MenuHelper.GenerateUrl(String url) in C:\Development\Hg\LeadManager\Web.UI\Helpers\MenuHelper.cs:1132
LeadManager.Web.UI.Helpers.MenuHelper.BuildLeadManagementMenu(Menu navMenu,Agent agent) in C:\Development\Hg\LeadManager\Web.UI\Helpers\MenuHelper.cs:554
LeadManager.Web.UI.Helpers.MenuHelper.AddNavMenu(Agent agent) in C:\Development\Hg\LeadManager\Web.UI\Helpers\MenuHelper.cs:530
ASP._Page_Views_Shared__Layout_cshtml.Execute() in c:\Development\Hg\LeadManager\Web\Views\Shared_Layout.cshtml:115
System.Web.WebPages.WebPageBase.ExecutePageHierarchy() +279
System.Web.Mvc.WebViewPage.ExecutePageHierarchy() +103
System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext,TextWriter writer,WebPageRenderingBase startPage) +172
System.Web.WebPages.WebPageBase.Write(HelperResult result) +88
System.Web.WebPages.WebPageBase.RenderSurrounding(String partialViewName,Action1 body) +233
1 continuation) +748196
System.Web.WebPages.WebPageBase.PopContext() +233
System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context) +377
System.Web.Mvc.<>c__displayClass1c.<InvokeActionResultWithFilters>b__19() +32
System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter,ResultExecutingContext preContext,Func
System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter,Func1 continuation) +748196
1 filters,ActionResult actionResult) +265
System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext,IList
System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext,String actionName) +748160
System.Web.Mvc.Controller.ExecuteCore() +159
System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) +334
System.Web.Mvc.<>c_displayClassb.b_5() +62
System.Web.Mvc.Async.<>c_displayClass1.b_0() +15
System.Web.Mvc.<>c_displayClasse.b_d() +52
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +437
System.Web.HttpApplication.ExecuteStep(IExecutionStep step,Boolean& completedSynchronously) +354
MenuHelper用于构建导航菜单.失败的代码是if之外的return语句:
private static string GenerateUrl(string url) { if (instance == null) { // hack to enable using this on old web forms pages return UrlHelper.GenerateContentUrl(url,new HttpContextwrapper(HttpContext.Current)); } return (new UrlHelper(instance.htmlHelper.ViewContext.RequestContext)).Content(url); } private static string GenerateUrl(string actionName,string controllerName) { if (instance == null) { // hack to enable using this on old web forms pages return GenerateUrl(String.Format("{0}/{1}",controllerName,actionName)); } if (instance.htmlHelper == null) throw new InvalidOperationException("htmlHelper has not been populated."); if (instance.htmlHelper.ViewContext == null) throw new InvalidOperationException("ViewContext has not been populated."); if (instance.htmlHelper.ViewContext.RequestContext == null) throw new InvalidOperationException("RequestContext has not been populated."); UrlHelper urlHelper = new UrlHelper(instance.htmlHelper.ViewContext.RequestContext); if (urlHelper == null) throw new InvalidOperationException("UrlHelper has not been populated."); if (String.IsNullOrEmpty(actionName)) throw new InvalidOperationException("actionName has not been populated."); if (String.IsNullOrEmpty(controllerName)) throw new InvalidOperationException("controllerName has not been populated."); return (urlHelper.Action(actionName,controllerName)); }