Dotnetnuke IE11下的DNN 5加载错误(NullReferenceException)

Dotnetnuke IE11下的DNN 5加载错误(NullReferenceException),dotnetnuke,dotnetnuke-5,Dotnetnuke,Dotnetnuke 5,我被要求对使用DNN5.0创建的旧网站进行疑难解答 问题只在使用IE11时存在。在以前的版本中,以及使用其他浏览器(Chrome、Firefox)时,一切都正常 我设法发现这是由IE发送到服务器的用户代理造成的。当它被设置为默认IE11值(用户代理:Mozilla/5.0(Windows NT 6.1;WOW64;Trident/7.0;rv:11.0)时,像Gecko一样,DNN会生成错误,当我使用开发工具将其更改为IE10 one时(用户代理:Mozilla/5.0(兼容;MSIE 10.0

我被要求对使用DNN5.0创建的旧网站进行疑难解答

问题只在使用IE11时存在。在以前的版本中,以及使用其他浏览器(Chrome、Firefox)时,一切都正常

我设法发现这是由IE发送到服务器的用户代理造成的。当它被设置为默认IE11值
(用户代理:Mozilla/5.0(Windows NT 6.1;WOW64;Trident/7.0;rv:11.0)时,像Gecko一样,DNN会生成错误,当我使用开发工具将其更改为IE10 one时(
用户代理:Mozilla/5.0(兼容;MSIE 10.0;Windows NT 6.2;Trident/6.0)
)网站加载没有任何问题。将网站添加到兼容性视图列表也有帮助-它也在更改用户代理:
用户代理:Mozilla/4.0(兼容;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)

当it服务请求使用默认的IE11用户代理头时,是否可以将DNN行为更改为IE10用户代理行为?我还没有在谷歌上搜索到任何有趣的内容

错误详细信息:

InnerException:对象引用未设置为对象的实例

方法:DotNetNuke.UI.WebControls.MenuNodeWriter.Render

堆栈跟踪:

消息:DotNetNuke.Services.Exceptions.PageLoadException:Object 引用未设置为对象的实例。--> System.NullReferenceException:对象引用未设置为实例 指一个物体 DotNetNuke.UI.WebControls.MenuNodeWriter.Render(HtmlTextWriter) 在DotNetNuke.UI.WebControls.MenuNodeWriter.RenderNode(HtmlTextWriter 编写器,菜单节点)位于 DotNetNuke.UI.WebControls.MenuNode.Render(HtmlTextWriter)位于 DotNetNuke.UI.WebControls.dnmenumwriter.RenderChildren(HtmlTextWriter (作者)在 DotNetNuke.UI.WebControl.DNNMenuWriter.RenderContent(HtmlTextWriter writer)位于System.Web.UI.WebControls.WebControl.Render(htmltextwitter writer)位于System.Web.UI.Control.RenderControlInternal(HtmlTextWriter 写入程序、控制适配器(适配器)位于 System.Web.UI.Control.RenderControl(HtmlTextWriter, 控制适配器(适配器) System.Web.UI.Control.RenderControl(HtmlTextWriter)位于 DotNetNuke.UI.WebControls.dnmenumwriter.RenderMenu(htmltextwitter 编写器,DNNMenu菜单)位于 DotNetNuke.UI.WebControls.dnmenu.Render(HtmlTextWriter)位于 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter, 控制适配器(适配器) System.Web.UI.Control.RenderControl(HtmlTextWriter, 控制适配器(适配器) System.Web.UI.Control.RenderControl(HtmlTextWriter)位于 System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter, i收集儿童)在 System.Web.UI.Control.RenderChildren(HtmlTextWriter)位于 System.Web.UI.Control.Render(HtmlTextWriter)位于 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter, 控制适配器(适配器) System.Web.UI.Control.RenderControl(HtmlTextWriter, 控制适配器(适配器) System.Web.UI.Control.RenderControl(HtmlTextWriter)位于 ASP.portals\u默认\u皮肤\u最小外部复制\u索引\u ascx.\u呈现\u控制1(HtmlTextWriter __w、 System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter, i收集儿童)在 System.Web.UI.Control.RenderChildren(HtmlTextWriter)位于 System.Web.UI.Control.Render(HtmlTextWriter)位于 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter, 控制适配器(适配器) System.Web.UI.Control.RenderControl(HtmlTextWriter, 控制适配器(适配器) System.Web.UI.Control.RenderControl(HtmlTextWriter)位于 System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter, i收集儿童)在 System.Web.UI.Control.RenderChildren(HtmlTextWriter)位于 System.Web.UI.Control.Render(HtmlTextWriter)位于 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter, 控制适配器(适配器) System.Web.UI.Control.RenderControl(HtmlTextWriter, 控制适配器(适配器) System.Web.UI.Control.RenderControl(HtmlTextWriter)位于 System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter, i收集儿童)在 System.Web.UI.Control.RenderChildren(HtmlTextWriter)位于 System.Web.UI.HtmlControls.HtmlForm.RenderChildren(HtmlTextWriter (作者)在 System.Web.UI.HtmlControls.HtmlContainerControl.Render(HtmlTextWriter writer)位于System.Web.UI.HtmlControls.HtmlForm.Render(htmltextwitter 输出)位于System.Web.UI.Control.RenderControlInternal(HtmlTextWriter 写入程序、控制适配器(适配器)位于 System.Web.UI.Control.RenderControl(HtmlTextWriter, 控制适配器(适配器) System.Web.UI.HtmlControl.HtmlForm.RenderControl(HtmlTextWriter writer)位于System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter 作家,我收集儿童)在 System.Web.UI.Control.RenderChildren(HtmlTextWriter)位于 System.Web.UI.HtmlControls.HtmlContainerControl.Render(HtmlTextWriter writer)位于System.Web.UI.Control.RenderControlInternal(HtmlTextWriter 写入程序、控制适配器(适配器)位于 System.Web.UI.Control.RenderControl(HtmlTextWriter, 控制适配器(适配器) System.Web.UI.Control.RenderControl(HtmlTextWriter)位于 ASP.default\u aspx.\u Render\u control1(HtmlTextWriter\uw,控件 参数容器)在 System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter, i收集儿童)在 System.Web.UI.Control.RenderChildren(HtmlTextWriter)位于 System.Web.UI.Page.Render(HtmlTextWriter writer)位于 位于的DotNetNuke.Framework.PageBase.Render(HtmlTextWriter) System.Web.UI.Control.RenderControlInternal(HtmlTextWriter, 控制适配器(适配器) System.Web.UI.Control.RenderControl(HtmlTextWriter, 控制适配器(适配器) 系统。
  <system.web>
    <browserCaps>
      <!-- IE 11 Patch //-->
      <case match="Trident\/7.0; rv:(?'version'(?'major'\d+)(\.(?'minor'\d+)?)(?'letters'\w*))(?'extra'[^)]*)">
        browser=IE
        layoutEngine=Trident
        layoutEngineVersion=0${layoutVersion}
        frames=true
        tables=true
        cookies=true
        javascript=true
        javaapplets=true
        ecmascriptversion=1.5
        w3cdomversion=1.0
        css1=true
        css2=true
        xml=true
        tagwriter=System.Web.UI.HtmlTextWriter
        screenBitDepth=8
        isColor=true
        extra=${extra}
        letters=${letters}
        <case match="rv:(?'version'(?'major'\d+)(?'minor'\.\d+)(?'letters'\w*))">
          version=${version}
          majorversion=0${major}
          minorversion=0${minor}
          type=IE${major}
        </case>
      </case>
    </browserCaps>