Web Forms :: Public Event RaiseEvent Not Firing In Content Page
Mar 3, 2010
Here is the situation, I have a nested master page with set of global filters for reports. When they click the run button in the master I want the content page to process the filter and execute a general function called RunReport on the content page. Each report has its own content page with its own RunReport method. Everything I see online says to use public events with the RaiseEvent call. This was easy to code but it doesn't seem to be firing the event on the content page. How do I know, I have an error message section on the master page which I can send messages to from the content and it is displaying nothing. I also put a break point in the content page method and it never hit it. NOTE: MyPortal is a class that contains to variables call Master, which reference the main master page, and Validations which references the nested master page. The page does not throw any errors, it just refreshes like a normal button click. I have traced code to make sure it gets to the RaiseEvent call and when I tried to step into the code it skipped over the line. Here is some code for the nested master page:
Here's the scenario: A class based on System.Web.UI.Page has been created. A number of content pages derive from this class. All of these content pages use the same master page. The content pages define controls which need to access things on the master page (in code-behind). This is fine - no problem. In particular, each content page has its own data grid. The grid on each page has the same name, so that common code can reference it. In fact, some event handling for the grids on each content page is identical, so would like to factor that code to the base class. Interestingly, I can actually define the event handler entirely in the base class, with no stub in the content class at all, because the wire-up of event handlers uses the event-handler name defined in the grid, and that name happens to be found in the inherited base class. All good and dandy... very cool in fact. The problem comes when the code in the base class needs to access any of the common elements from the content page's master. Remember, the master is the same, and I know the type of the master. I would like to do something like this in the base-class code:
((myMasterType)this.Master).PropertyofMaster=xxx;
The problem is, that myMasterType - the type of the master page the content pages are using - is not available at compile time, at least not from a class definition for a base page. I've found articles that claim that the class name of the master is available - and it is, but not from a separate class. I CAN see it and compile with the master's class name from, for example, the code behind of the various content pages. But the actually class simply isn't available, it seems, from a pure class (the base page class). Judging from other times this question has been asked, here are common misunderstandings offered as solutions: 1. Use a page directive to declare the master type. This is not even vaguely a part of the problem, as the issue is not code in the content page, but in a separate base class which content pages inherit from. That base class is a pure class -- no .ASPX file at all. 2. Pass a reference to the master object from the content page to the base class. This can be done, but is pointless, because I can already get it, using "this.Master" from the base class! But because the type of the master is not available at compile time from the base class, it can't be passed from the content page either - unless it is passed with type MasterPage, thus losing all the properties/methods publically defined in the specific master page class. 3. Move the base page class out of the App_Code folder because the app_code folder is compiled before the other classes, and thus before the master page class. Doesn't work -- put the master page class file right in the same folder with these content pages and their master page, and the master page class is still not available at compile time from within the class. Re-summarized: Base page inherited by content pages. Content pages all use a common master page. Want to access the public properties of that master page from the base page, at runtime. Barrier is that I can find no way from within the base class to cast the master page object to the actual master page subclass being used.
now a days i'm working on my project. In project there is a aspx page which is binded with a masterpage, the problem is that when i run the project in debugging mode i found that page load event of a page is firing two times instead of one along with masterpage page's page load event. This is crreating a problem in filling a grid. I searched through the internet for this problem some says that it may happen if u have any image whose src="" or due to some bad HTML's on page .But i've gone through the page it does not contain any image whose src="" .
I'm using SelectedIndexChanged on a gridview row to trigger an event which is working fine in a normal webform. But, when I included "master page", it's not triggering the same event.
everything is same except, I added MasterPageFile location & removed FORM tag.
I have a page with in a master page. This page has a user control with a text box and a button. I also have another button on the page. As the page first loads the button_click event on both the controls does not fire when clicking the buttons. I also have an event on the enter key on the text box. This event fires which causes a post back. After post back now my button_click event fire. The button_click event does not fire on the first page_load.
I have a master page with a login box on it. Inside the login box is a button -
[Code]....
NOW ... On my local dev machine this code works fine. The control fires the event and everything is how it should be. When I run this site on a remote web server (tried two of them - both IIS7 running on 2008 R2) the event is never called. I added some logging to see what is happening and the PostBack event on the Master Page does not happen when the button is clicked - the page is just reloaded.
I have a masterPage on that i am using AjaxModalPopup for login purpose.My requirement is when  i login via Master page then it should show the Logged-in User details on the current Content Page that is using same master page.
Here i am using following code to get it back to the same content page after succesful login but it does not show the user details on the same content page rather when i go to next page then it appears.
 if (Session["SignedIn"] == null) { ValidateUser(); ModalPopupExtenderMaster1.Hide(); string currentPageUrl = System.IO.Path.GetFileName(Request.Url.AbsolutePath); Server.Transfer(currentPageUrl); }
But it does not gives user-details on the same content page.
I have a fairly complex web app which has two levels of master page. The top level provides a nav bar constructed from a Menu control across the top of the page. Second level master pages provide menus down the side. It all works well.
On both Menu controls, I need to handle the MenuItemClick event. This works fine on the Menu controls on the second-level master pages. However, the Menu on the top level master does not raise the event at all.
This web site makes extensive use of Ajax and the top-level master page contains the ScriptManager. Before I go to all the work of creating a much simpler test site, why the Menu control is not raising the MenuItemClick event?
Here is the markup for the Menu in the top-level master:
[Code]....
Here is the MenuItemClick event handler:
[Code]....
The logging call in the event handler never gets called. Equivalent code in the Menu on the second-level master does get called.
I am using forms authentication, and a session object to hold user information once the user is authenticated.
I am able to login and log out. I am able to log in and use the "remember me" functionality of the forms authentication.
When attempting to test the "remember me" functionality, the master page load event contains code to check the forms authentication & remember me, and retrieve user info from the database to automatically log the user in. This fires correctly, and the screens all load with the user successfuly logged in, and the users info is successfully stored in a session object.
Without touching anything on the screen, a moment passes and then the master page load event spontaneously fires again, Page.User.Identity.Name still contains the user name, however the session variable is now null, and throws an error.If I tell it to run past this error, it does, and the application continues to function normally, withthe session variables set correctly.
Its almost as if that second firing is ina different session, or something.
I have no problem posting code, but I have a profile class holding / handling the session communication, etc so it is a bit cumbersome.
Here is my situation: I have a user control that has a menu in it. This user control sits on my master page. It is my main navigation menu for my application. I am having an issue where, on one of my pages, users seem to be leaving the page before committing all changes to the database, which results in a loss of data. So what I want to accomplish is - if the user is leaving this page and the data has not been saved yet, I want to prompt the user and say something like "The information is not yet saved, are you sure you want to leave this page" in a modal popup. So my approach is this: In my menu user control, create an event handler called MenuClicked that is raised when the menu web control's (in the user control) MenuItemClicked is raised, I raise my custom MenuClicked event. Then on my master page, I can catch this event in NavMenu_MenuClicked. My problem is - I need to catch this event in my content page, not the master? Am I approaching this correctly?
Can I modify the properties of a content page control from an event fired from the master page?create a delegate and event on master page wire up the master page in the content page create the event handler (function) on the content page modify for example:
contents of the Text property of a textbox render a control visible (or hidden) etc...
I put a break point at the protected void Page_Load(object sender, EventArgs e) method of my master page, but when i start the site it does not hit that break point.
Why is the event not firing? I would like to use this event along with others such as the Init event in order to check to see if the session has expired everytime a page loads...
I'm sure I'm missing something extremely obvious here, but at this point I can't see it so I need the help.Anyway, I've got a repeater inside of an UpdatePanel. As of right now, I've stripped it down to this, just to try and isolate the problem:
[Code]....
Whether I add the handler during itemdatabound or I add the handler within the repeater itself, it doesn't seem to matter...the event itself doesn't fire. The AutoPostback itself seems to fire, but the event itself doesn't.
I have couple of [WebMethods] in my code behind and using jquery ajax to get data from server. And then it happens :). After some time while page is inactive when i try to click on button which should have send request to server it simply does nothing for about half of minute and only then event is fired and i get response from server.
I have a web application that shows a page containing between 6 and 20 UpdatePanels, contained with Custom Web (.ascx) Controls.
You can see an example of such a page here: [URL]
The problem I'm getting is that when the user FIRST clicks any of the radio-buttons on any of the controls in the page, ALL the radio buttons that have an active selection ALSO fire an rb_CheckChanged event (see application log below). On subsequent radio-button clicks, only that RB fires the event (as expected).
This behaviour is having a dramatic impact on performance. The page loads quickly, and a "normal" RB click provides an AJAX update correctly within 1 second. The problematic first RB click, however, takes up to SIX seconds to process, which is unacceptable from a user experience standpoint.
Developed in VS.NET 2008, ASP.NET 3.5. Also I converted the "Web Site" solution to a "Web Application" (pre-compiled) and got the same performance (still too slow). Release builds run only marginally faster than debug builds.
Why would a single RB selection change cause all RB's that have a "selection" set on them to also fire? (The "selection" is determined through database settings every time the control is populated, which is called from within the parent page control's Page_Load function. This selection is determined also at first page load, since all the controls get populated then, so why would the clicking of an RB cause them all to fire an event, and only once? That's what I don't get...)
Now I want to "catch" the event when someone click on the new menu item ("Add File"), which will cause a panel in the content page to become visible. I can't catch it in the master page, because then I won't have access to the panel, and I don't know how to catch it in the content page.