3
谁能告诉我为什么我会在下面的跟踪中得到错误?SetFocus/Page Cycle - 混淆错误
“SetFocus只能在PreRender之前和期间调用。”
错误消息表示必须在PreRender之前或期间调用“SetFocus”,并基于该跟踪页面与PreRender无关。
那么为什么错误呢?
复制了的trace.axd ...
Begin PreInit End PreInit Begin Init End Init Begin InitComplete End InitComplete Begin LoadState End LoadState Begin ProcessPostData End ProcessPostData Begin PreLoad End PreLoad Begin Load End Load Begin ProcessPostData Second Try End ProcessPostData Second Try Begin Raise ChangedEvents End Raise ChangedEvents Begin Raise PostBackEvent SetFocus can only be called before and during PreRender. at System.Web.UI.Page.SetFocus(Control control) at System.Web.UI.Control.Focus() at Graylink.Neptune.RecruiterPortal.UserControls.Popups.RecruiterPopups.ShowChangePasswordPopup(RecruiterClass recruiter, String commandName) in C:\Users\jens.uffhaus\SourceControl\Neptune\Source Code\RecruiterPortal\UserControls\Popups\RecruiterPopups.ascx.cs:line 1134 at Graylink.Neptune.RecruiterPortal.Default.Password_OnBeforeGo(MenuItem item, String queryString, Boolean forceRedirect) in C:\Users\jens.uffhaus\SourceControl\Neptune\Source Code\RecruiterPortal\Default.Master.cs:line 92 at Graylink.Neptune.RecruiterPortal.MenuItem.GoDelegate.Invoke(MenuItem item, String queryString, Boolean forceRedirect) at Graylink.Neptune.RecruiterPortal.MenuItem.Go(String queryString, Boolean forceRedirect) in C:\Users\jens.uffhaus\SourceControl\Neptune\Source Code\RecruiterPortal\Menu\MenuItem.cs:line 129 at Graylink.Neptune.RecruiterPortal.MenuItem.Go() in C:\Users\jens.uffhaus\SourceControl\Neptune\Source Code\RecruiterPortal\Menu\MenuItem.cs:line 115 at Graylink.Neptune.RecruiterPortal.MainMenu.lnkMyAccountProfilePassword_Click(Object sender, EventArgs e) in C:\Users\jens.uffhaus\SourceControl\Neptune\Source Code\RecruiterPortal\UserControls\MainMenu.ascx.cs:line 130 at System.Web.UI.WebControls.LinkButton.OnClick(EventArgs e) at System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String eventArgument) at System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
也许它起源于PreRender之后发生的异步方法。 – Jeremy
我在OnPreRender覆盖每个级别的断点,并没有其中之一发生错误之前触发。感谢您的建议。 – Jens
我相信渲染在异步请求期间不会被调用。 – Jeremy