Dotnetnuke IE11下的DNN 5加载错误(NullReferenceException)
我被要求对使用DNN5.0创建的旧网站进行疑难解答 问题只在使用IE11时存在。在以前的版本中,以及使用其他浏览器(Chrome、Firefox)时,一切都正常 我设法发现这是由IE发送到服务器的用户代理造成的。当它被设置为默认IE11值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
(用户代理: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>