我有模块,使一个Response.Redirect不同的页面,如果一些条件不满足。但是,我注意到EventLog中有很多与此有关的错误。我正确的说,由于DNN所使用的页面上的模块的动态加载,I
不能在
不应该在Init方法中做一个重定向吗?DotNetNuke重定向在Page_Init方法异常
这里是例外:
System.Threading.ThreadAbortException:线程已被中止。 System.Web.HttpResponse.End()处的System.Threading.Thread.Abort(Object stateInfo)处的System.Web.HttpResponse.Redirect(String url,Boolean endResponse)处的System.Threading.Thread.AbortInternal()。 C:\ Projects \ ASP_NET \ XXXX \ XXXX.Controllers \ BaseNavigationController.cs中的Controllers.BaseNavigationController.NavigateTo(String url,NameValueCollection qsParams,Boolean endResponse):XXXX.Controllers.BaseNavigationController.NavigateTo(String url) \ Projects \ ASP_NET \ XXXX \ XXXX.Controllers \ BaseNavigationController.cs:第45行XXXX.UI.DesktopModules.QuoteStepModuleBase.CheckIfOnValidStep()在C:\ Projects \ ASP_NET \ XXXX \ WebRoot \ XXXX.UI \ BaseClasses \ QuoteStepModuleBase.cs :C:\ Projects \ ASP_NET \ XXXX \ WebRoot \ XXXX.UI \ BaseClasses \ QuoteStepModuleBase.cs中XXXX.UI.DesktopModules.QuoteStepModuleBase.QuoteStepModuleBase_Init(对象发件人,EventArgs e)行64:System.Web.UI行31 .Control.OnInit(EventArgs e)在System.Web.UI.UserControl.OnInit(EventArgs e)在System.Web.UI.Cont在System.Web.UI.Control.AddedControl(Control控件,Int32索引)上的Rol.InitRecursive(Control namingContainer)在System.Web.UI.ControlCollection.Add(控制子)DotNetNuke.UI.Modules.ModuleHost.InjectModuleContent(Control内容)在C:\ Projects \ 3rdParty \ DotNetNuke_Community_05.01.01_Source \ Library \ UI \ Modules \ ModuleHost.vb:C:\ Projects \ 3rdParty \ DotNetNuke_Community_05.01.01中DotNetNuke.UI.Modules.ModuleHost.CreateChildControls()178行_Source \ Library \ UI \ Modules \ ModuleHost.vb:第428行System.Web.UI.Control.EnsureChildControls()在DotNetNuke.UI.Modules.ModuleHost.get_ModuleControl()在C:\ Projects \ 3rdParty \ DotNetNuke_Community_05.01.01_Source \ Library \ UI \ Modules \ ModuleHost.vb:C:\ Projects \ 3rdParty \ DotNetNuke_Community_05.01.01_Source \ Library \ UI \ Containers \ Container.vb中的DotNetNuke.UI.Containers.Container.get_ModuleControl()中的第95行:第123行在C:\ Projects \ 3rdParty \ DotNetNuke_Community_05.01.01_Source \ Library \ UI \ Cont DotNetNuke.UI.Containers.Container.ProcessModule()中ainers \ Container.vb:C:\ Projects \ 3rdParty \ DotNetNuke_Community_05.01.01_Source \ Library \ UI \ Containers \ Container.vb中的DotNetNuke.UI.Containers.Container.SetModuleConfiguration(ModuleInfo配置)中的第364行:DotNetNuke的第548行。 UI.Skins.Pane.InjectModule(ModuleInfo objModule)在C:\项目\的3rdParty \ DotNetNuke_Community_05.01.01_Source \库\ UI \皮肤\ Pane.vb:线402
谢谢,我意识到Response.Redirect引发异常的事实。我对DNN如何动态加载模块以及它如何适应这种情况更感兴趣。例如,DNN中的常见做法是不在init事件中重定向? – cfbarbero 2009-12-16 21:21:36
我从来没有听说过DNN的任何指导,以避免在Init事件中重定向。我不相信DNN的动态加载模块对重定向有任何影响。 – bdukes 2009-12-16 21:40:45
我们在各种地方重定向,并且我们在response.redirect中使用了FALSE作为第二个参数 - 我们想知道同样的事情,但是找不到任何说不这样做的事情,或者这是一种不好的做法。我的2便士! – braindice 2009-12-16 21:45:17