【发布时间】:2013-12-16 18:56:38
【问题描述】:
有人要求我对使用 DNN5.0 创建的旧网站进行故障排除
问题仅在使用 IE11 时存在。在以前的版本中一切正常,在使用其他浏览器(Chrome、Firefox)时也是如此。
我设法发现这是由从 IE 发送到服务器的用户代理引起的。当它设置为默认 IE11 值(User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko DNN 时会生成错误,当我使用开发人员工具将其更改为 IE10 时,一个 (User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)) 网站加载没有任何问题。将网站添加到兼容性视图列表也有帮助 - 它也在更改用户代理:User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3)。
当 DNN 使用默认的 IE11 用户代理标头为 IE10 用户代理行为提供服务时,是否可以更改 DNN 行为?我没有用谷歌搜索任何有趣的东西。
错误详情:
InnerException:对象引用未设置为对象的实例。
方法:DotNetNuke.UI.WebControls.MenuNodeWriter.Render
堆栈跟踪:
消息:DotNetNuke.Services.Exceptions.PageLoadException:对象 引用未设置为对象的实例。 ---> System.NullReferenceException:对象引用未设置为实例 的一个对象。在 DotNetNuke.UI.WebControls.MenuNodeWriter.Render(HtmlTextWriter writer) 在 DotNetNuke.UI.WebControls.MenuNodeWriter.RenderNode(HtmlTextWriter 作家,MenuNode 节点)在 DotNetNuke.UI.WebControls.MenuNode.Render(HtmlTextWriter writer) 在 DotNetNuke.UI.WebControls.DNNMenuWriter.RenderChildren(HtmlTextWriter 作家)在 DotNetNuke.UI.WebControls.DNNMenuWriter.RenderContents(HtmlTextWriter 作家)在 System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter 作家)在 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter 作家,ControlAdapter 适配器)在 System.Web.UI.Control.RenderControl(HtmlTextWriter 作家, ControlAdapter 适配器)在 System.Web.UI.Control.RenderControl(HtmlTextWriter writer) 在 DotNetNuke.UI.WebControls.DNNMenuWriter.RenderMenu(HtmlTextWriter 作家,DNNMenu 菜单)在 DotNetNuke.UI.WebControls.DNNMenu.Render(HtmlTextWriter writer) 在 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter 编写器, ControlAdapter 适配器)在 System.Web.UI.Control.RenderControl(HtmlTextWriter 作家, ControlAdapter 适配器)在 System.Web.UI.Control.RenderControl(HtmlTextWriter writer) 在 System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter 作家, ICollection 儿童)在 System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) 在 System.Web.UI.Control.Render(HtmlTextWriter writer) 在 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter 编写器, ControlAdapter 适配器)在 System.Web.UI.Control.RenderControl(HtmlTextWriter 作家, ControlAdapter 适配器)在 System.Web.UI.Control.RenderControl(HtmlTextWriter writer) 在 ASP.portals__default_skins_minimalextropy_index_ascx._渲染_control1(HtmlTextWriter __w, Control parameterContainer) 在 System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection 儿童)在 System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) 在 System.Web.UI.Control.Render(HtmlTextWriter writer) 在 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter 编写器, ControlAdapter 适配器)在 System.Web.UI.Control.RenderControl(HtmlTextWriter 作家, ControlAdapter 适配器)在 System.Web.UI.Control.RenderControl(HtmlTextWriter writer) 在 System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter 作家, ICollection 儿童)在 System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) 在 System.Web.UI.Control.Render(HtmlTextWriter writer) 在 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter 编写器, ControlAdapter 适配器)在 System.Web.UI.Control.RenderControl(HtmlTextWriter 作家, ControlAdapter 适配器)在 System.Web.UI.Control.RenderControl(HtmlTextWriter writer) 在 System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter 作家, ICollection 儿童)在 System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) 在 System.Web.UI.HtmlControls.HtmlForm.RenderChildren(HtmlTextWriter 作家)在 System.Web.UI.HtmlControls.HtmlContainerControl.Render(HtmlTextWriter 作家)在 System.Web.UI.HtmlControls.HtmlForm.Render(HtmlTextWriter 输出)在 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter 作家,ControlAdapter 适配器)在 System.Web.UI.Control.RenderControl(HtmlTextWriter 作家, ControlAdapter 适配器)在 System.Web.UI.HtmlControls.HtmlForm.RenderControl(HtmlTextWriter 作家)在 System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter 作家,ICollection 儿童)在 System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) 在 System.Web.UI.HtmlControls.HtmlContainerControl.Render(HtmlTextWriter 作家)在 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter 作家,ControlAdapter 适配器)在 System.Web.UI.Control.RenderControl(HtmlTextWriter 作家, ControlAdapter 适配器)在 System.Web.UI.Control.RenderControl(HtmlTextWriter writer) 在 ASP.default_aspx._渲染_control1(HtmlTextWriter __w, Control 参数容器)在 System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter 作家, ICollection 儿童)在 System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) 在 System.Web.UI.Page.Render(HtmlTextWriter writer) 在 DotNetNuke.Framework.PageBase.Render(HtmlTextWriter writer) at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter 编写器, ControlAdapter 适配器)在 System.Web.UI.Control.RenderControl(HtmlTextWriter 作家, ControlAdapter 适配器)在 System.Web.UI.Control.RenderControl(HtmlTextWriter writer) 在 System.Web.UI.Page.ProcessRequestMain(布尔值 includeStagesBeforeAsyncPoint,布尔型 includeStagesAfterAsyncPoint) --- 内部异常堆栈跟踪结束 ---
【问题讨论】: