[Mono-bugs] [Bug 685267] <asp:TreeView> PostBack problem

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Wed Apr 13 14:42:33 EDT 2011


https://bugzilla.novell.com/show_bug.cgi?id=685267

https://bugzilla.novell.com/show_bug.cgi?id=685267#c2


--- Comment #2 from QuickJack . <test051102 at hotmail.com> 2011-04-13 18:42:31 UTC ---
I have debugged the problematic parts inside System.Web.UI and found a possible
solution.

Analysis
==============================
Next are the steps to reproduce the problematic parts using
Mono 2.10.1:

(1) Open the sample WebApp in MonoDevelop 2.6 Beta 1
(2) Put a breakpoint into line 146 of System.Web.UI.ClientScriptManager.cs
(3) Put a breakpoint into Page.Page_Load() and setup a watch expression to
evaluate the value of Page.IsPostBack
(4) Start the sample WebApp and click the button.
(5) The breakpoint in ClientScriptManager is hit. The call to
RegisterHiddenField (Page.PreviousPageID, page.Request.FilePath) tries to add a
hidden field to the
page. This hidden field contains a reference to the previous page for the next
postback. However, page.Request.FilePath points to /Default.aspx which is
wrong.
(5) The breakpoint in Page.Page_Load() is hit. Page.IsPostback is false, which
is correct.
(6) Hit the button on Page.aspx. Now, the previously set up page using the
wrong reference to the previous page is posted back. As a result, the postback
is not working as expected. When observing the value of Page.IsPostBack inside
Page.Page_Load() we can see, that it is still false instead of true!

Solution
==============================
I have changed line 146 of System.Web.UI.ClientScriptManager.cs as follows:

if (page.Request.Url != null)
    RegisterHiddenField (Page.PreviousPageID, page.Request.Url.AbsolutePath);

Result: The behaviour of the LinkButton and that of the TreeView as well is
working as expected using my sample WebApp.

-- 
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


More information about the mono-bugs mailing list