Web Forms :: Declare A Public Property And Access It From Another Page?
Mar 18, 2011
I am trying to declare a public property and access it from another page. I can't seem to be able to declare it. I'be tried putting in the code behind but it gives me errors.
I have a property on my Global.asax.cs class that I need to access from a business class, i.e. using HttpContext.Current. How do I do this? Global.asax.cs (in a web project)
public partial class Global : System.Web.HttpApplication { public static ProxyGenerator Generator = new ProxyGenerator(); Business class (in a separate business project) var generator = ((Sei.Osp.Web.Global)HttpContext.Current.ApplicationInstance)
This obviously doesn't work and I don't want to reference the whole web project in the business project as it will create a circular reference (the business project is already referenced in the web project)
UPDATE:
To clarify - the property I'm creating holds an instance of the Castle Dynamic Proxy Generator class. I've read that you shouldn't just create this all over the place. So I thought I'd create it in my Global.asax.cs and then just use that instance wherever I need to create a proxy class (I'm using it to do AOP) Is there a better way of doing this?
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.
I created a webpage names Default.aspx. In its code behind i defined another public class named Test. Test class is not accessible in other pages code behind although it is defined as public.
I have a folder called <mysite>/Pages. This folder is PUBLICIn this folder I have a aspx page called : MySecure.aspx I have on the default.aspx page a hyperlink to the "~/Pages/MySecure.aspx page".I want to limit access to the MySecure page to only those in a Admin role (so no members no guests or www users can see it. I dont want to move MySecure.aspx into a secure folder.This is what I did in the wedconfig
How can I call a public property declared on a ASPX page from a different ASPX Page? Is that possible? It is a website project. How can I get/call this property from a different aspx page? I have attempted this from the other page, but it is not recognizing the partial class: private Test_Default _test; It does not recognize the "Test_Default"
I've got a web site that has a master page and that master page (mpMaster that has a user control ucControl1) which has a sub user control (ucControl2), this user control has a property which accepts a value. Now, I have a page that uses the master page and on this page I have another user control (ucPageControl), I need to find a way of setting the value in ucControl2 from ucPageControl. Is this possible at all?
So I have this object I'm creating, just to hold some string and boolean data that I want to pass to the second page. So I have a class file:
[Code]....
[Code]....
And I'm setting values from form controls, like this:
[Code]....
So here is the really weird part: if I try to set a label's text property equal to objPrimaryScreeningData.myMemberVariable after selecting it - there is nothing there. I'm sure it's a stupid mistake - being self taught stinks.
As what other member said in this community, the data assign a public variable may be shared among users, therefore, how am be able to declare a property that will accept an array of values using List<string>? The variable will be use in about fifteen pages...if I am going to declare this on each of the page, this will result to difficulty in maintaining the code of my program.
I have a project that has 4 pages and from each page have several link buttons to go each of the other pages. I would like to declare these url in the web.config file and give them a name and access from vb.net code behind.
This was originally posted, in error, to another forum. Not sure how that happened. Anyways, here goes... I have a web app that uses javascript functions to make rounded corners. One of the functions requires two colors as parameters. I cannot change this function definition. My web app is in asp.net 4.0 and uses master pages and themes. To facilitate programmatic access, I moved all javascript declaration into the code behind file of the master page. It gets generated in the load event: I declare it there as a big string (using StringBuilder) and then put it into the page with Page.
ClientScript.RegisterClientScriptBlock(... Now that I have introduced themes into my application, I have discovered a serious problem. These themes each utilize their own CSS and skin files to paint the various elements of the app's web pages in different colors (of course). But remember, as parameters, one of my javascript functions requires two colors. And now that I have themes I can no longer manually code these colors into the javascript declaration... Now I have to discover a way to extract the background color and one other color from the current theme's CSS file. Then I can feed that into the javascript declarations in the master page's PageLoad event in the master page's code behind file. This would allow the javascript function to be called on the page load and to use the current theme's colors as parameters.
Im trying to learning asp.net & c# and am working through a tutorial that asks me to:
"Add 9 public properties of type TextBox to the code-behind file. There should be one public property for each TextBox control on the page. Each property should have only a get accessor that simply returns the TextBox object that it corresponds to." Ive added code below but im not really sure if what ive added is what is asked for,