Web Forms :: Visibility Of Panels And UserControls?
Mar 9, 2010
First off - has any recent .NET / Windows Service Pack / Windows Update changed the behaviour around the Visibility of Panels / User Controls? An area of our site has all of a sudden stopped working. The most recent change that I made was a few weeks ago, I've backed out the change from my development environment, but the issue is still happening.
I'll explain what is happening. I have a couple of forms where the same behaviour is happening, but they follow the same pattern:
On the form there is let's say 2 ASP:Panel controls. In each of these there is a separate ASP:UserControl. When the User first visits the page, they are shown the first Panel and User Control. On this control they complete a couple of steps and click Next. This fires an event on the main page, which hides the first panel and shows the second panel, at least that is what is supposed to happen - and if I debug and step into the code this is what is happening as normal. Except on screen, the first panel is no longer being hidden, so it would appear clicking the Next button does nothing.
I'm at a loss as to what has happening - nothing has changed, and stepping through the code it's working correctly, but the screen is not reflecting what is happening in the code.
My next step is to create an isolated set of test pages to recreate the issue. Will attach when done and investigated, hopefully this will solve it
I am working with a formview edititemtemplate. Currently in my page load, i have some stuff that would show or hide certain panels based on dropdownlist values. These dropdown values get binded during page load. I need to be able to change the values/dropdowns, without rebinding the old data, and updating the visibility of the panels based on predefined rules.
I have experimented with putting my formview.databind() in page load if isnotpostback, in prerender, in prerender if isnotpostback. I have tried my rules (ex if ddlState.selectedvalue = "DE" then pnlDelaware.visible = "true") in the page load, and the page render. I'm just not sure how to get the stars aligned here. The closest i have come is having the databind in the pageload if notispostback, and the rules in the prerender. However I get an error "dropdownlist has a SelectedValue which is invalid because it does not exist in the list of items.
UpdatePanel1 contains a gridview1 and a standard panel, pnlForms. gridview1 has a linkbutton which is processed in the gridview1_rowcommand
UpdatePanel2 has gridview2.
There is also a Submit button that isn't in either UpdatePanel but may be a candidate to go into its own UpdatePanel. The Submit button is a trigger for both update panels
The behavior I would like is:
1-Initially, all visible except pnlForms and Submit button 2- When linkbutton in UpdatePanel1 gridview1 is clicked, pnlForms and Submit button become visible. 3. When Submit button is clicked, both gridviews should be refreshed, and PnlForms and the Submit button should both become not visible. I believe I may have to put the Submit button in its own UpdatePanel3 but am not sure how to proceed.
In my present code, everything works as desired except Submit button (not presently in any Update panel) is always visible. Assuming Submit button is initialized to not visible, how do I get it to appear when I click the link button in gridview1 and to disappear when it is clicked?
In one of my pages I use an usercontrol. The usercontrol has a textbox and a button on it. When someone adds text to the usercontrols textbox, I want to use the entered text in my page_init event. The problem is that in the page_init event, the textbox value is empty. How can I use the entered text in the page_init event?
I have several dynamic usercontrols that I want to load them in separete tab panles.but my problem is when the postback occures my usrecontrols diapeare.however I want to keep my usercontrols in each tab panle in each postback.I mention that I write code in c#.
We need to add 2 user controls to an aspx file, these 2 user controls have one telerik ajax manager each. but telerik only allows one ajax manager in a web page. I am getting exception while running the app.
Is there any way in aspx to seperate the user controls so that it will act as a seperate page?
I have implemented a user control with dropdown lists and textboxes where user may choose to add more of the same user control dynamically then submit the values within all usercontrols at the same time. They way I added usercontrols dynamically is whenever user clicks "add more" button, it increases the value of "userControlAmount" in session by 1, reloads the page and during next page_load event, within an updatepanel it creates usercontrols on the fly.
However whenever more is added since all usercontrols are generated again according to the latest user control counter, the values within the dropdownlists and textboxes are getting reseted.
I can hold all values in a viewstate/session however beyond the time/effort it will take, it doesn't sounds very "professional" to me. I was wondering if there is a more efficient way of doing this.
I was trying to add a Theme and some UserControls to a existing ASP.NET Web Project (nopCommerce) via a Second Web Project (which is added as an virtual Directory). But this did not work in my Configuration and I did not know if this is even possible.
The Reason why I want to seperate my Code from the nopCommerce project is for easyer upgrading to a new Version, and to handle adaptations for different shops efficient.
I have the usual problem of dynamically created usercontrols not hitting the event handler for a linkbutton inside the control, but I've checked the usual problems and I can't work out what's wrong. I'm calling a function to create the controls at the bottom of my page.load (although I did try page.init as well just in case) outside of my page.ispostback check, and I'm setting the controls id's to a fixed name which is consistent across postbacks. Any ideas what's wrong?
[Code]....
Usercontrol code:
<asp:LinkButton runat="server" ID="lnkDeleteGroup" Text="Delete this group" />
I have a simple user control which contains a textbox and a dropdownlist. I need to add this control multiple times to my page then save the details to my db, validating each control. When they re-enter my page I need to load the user control for each record in the db populated with the data they entered. They can then edit the data, delete the row or add new rows.
I'm trying to find the cleanest most efficient way to accomplish this. I realise I would need to re-add the user controls after each postback re-populating the data. Would the best way be to add each row to an arraylist or list of type object, save it to the viewstate and re-add the controls with data on postback, or is there another method which would suit?
I have a general question regarding usercontrols' parameters. In the built in web controls, such as the 'runat' parameter, when you begin to type 'runat' in Visual Studio, it gives you an Intellisense choice of 'server'. Or in the RequiredFieldValidator controls, the 'Display' parameter has 3 choices: Dynamic, None, and Static.
My question is, how do I incorporate this feature into my custom Usercontrols?
For instance, I created a usercontrol with a parameter called 'BorderColor'. This parameter will change a textbox's border color to the specified value. The possible values are: Blue, Red, Green, Black, Purple, etc. How do I have Intellisense display these choices when the BorderColor parameter is typed in?
In my web application , I have an online application form which contain 4 sections.When I click next button in the first usercontrol for the first section,i need to display the second usercontrol for the next section. When i tried, first loaded usercontrol only applying the styles.
what logic i need to use here to display each usercontrol on the next button click. How to save the values of each usercontrol on the next button click?
I have a userControl with with two DDLs and two RBLs, and public properties to get/set the values. If I register the UC on a page it works fine....I can set/retrieve the values without a problem.
I need to create multiple UCs based on records I'm pulling from a dB, so I'm trying to instead create the UCs programmatically. I'm testing this by adding a reference to the control ("symptomBasic"), creating a placeholder ("ph1") on a page and then trying to populate it with the UCs in PageInit. (the parent page uses a master page)
Partial Class testUC Inherits System.Web.UI.Page Private myUC As ASP.symptomBasic Protected Sub Page_init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init Dim i As Integer For i = 1 To 3 myUC = CType(LoadControl("~/controls/symptom.ascx"), ASP.symptomBasic) ph1.Controls.Add(myUC) Next End Sub Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load End Sub End Class
When I load the page, I get three UCs in a row, and they work properly on postback...i.e. all the values are preserved. Question is, how do I then find the controls on postback when I want to populate them with data or read the values back?
Let's say I know I returned 3 rows from the dB and created 3 UCs during pageInit...how do I then access those controls to read back the values provided by the user? I see that each control has an ID like: "ctl00_ContentPlaceHolder1_ctl01_cName", where each set of controls is "ctl00", "ctl01", etc.
I am having problems finding my UserControls inside the Controls collection of a Placeholder control.
I have a ListView control with a PlaceHolder control in its ItemTemplate. OnItemdataBound for the ListView control I am adding a custom UserControl to the Controls collection of the Placeholder control. It all renders fine. My problem is when I try to find my user controls in the Placeholder. I just can't get it back. My code is below.
My objective here is to get to the input controls within my UserControl and call the save method of this.
I am making a website where the user has to choose some addresses form a list of street names.
I have made a usercontrol Witch I dynamically adds to the website depending on some choices the user makes (Zip, and Streed name) The usercontrol contains a checkbox. When the user clicks a button on the site I would like to find all the usercontrols the user have checked.
The usercontrols is contained in a asp:Panel
I have tried with a foreach loop where I loop all the controls in the panel. It only retun one control.
Then I have tried with at ControlCollection ctrlCol = ContentPanel.Controls;
It only returns a LiteralControl. Then I have tried to loop all the controls on the webpage testing for the type as the usercontrol but no luck
How can I find an loop thru all my usercontrols and find the checked?
similar topic to what i posted yesterday ttp://forums.asp.net/t/1580413.aspxBut what I'd like to do, is click a label, hide this label but enable another label (which has a color background) for this I have the following code - but ASP.NET doesn't like the 'click' handling function????Can someone please point me in the correct direction to acheieve this please?
I have a website that serves all its pages using a single 404 page. it displays hotel profiles form business and depending on different profile levels offers more or less functionality and information.
Through the DB a masterpage is selected and usercontrols are applyed to that.
I have a contact page like this : 404.aspx > masterpage.Master > contact.ascx
My form action looks like this default.aspx?404%3bhttp%3a%2f%2fwww1.testsite.co.uk%3a80%2fcontactus
and when I click the button this where I send up with an error "Validation of viewstate MAC failed" error.
I have read stuff on these for 4 hours but still have no idea where to start.
Do I need to
Catch the form action URL (postback URL) in the baseclass and change it back to [URL] - If I do this are the form firled values still intact
Do i need to do something to change the form.action url before the page is built, if so is this done in the masterpage preinit event as this is what the form tag is
What I know works is that the usercontrol is aware of the postback, but not the form values.
I want to be able to add a 404 based contact us form on any one of 1000s of profiles and be able to catch the values. Idearly I would like to do this in the codebehind of the usercontrol as this keeps the code seperate
I am sure this must be possible and normally I can work stuff out, but here I am totally stuck. I am trying to do this in VB.
i've got a weired problem using an event-Handler in a Usercontrol I built. The Question to this is pretty simple. I don't get the "SelectedIndexChanged" Event on one of my ListBoxes which I turned to a Multiselection Dropdownlist with jQuery. It's a simple ListBox which should return the new values and should fire the "SIC" Event right? But it doesn't. I don't even get the new values as I try to change values and then read them. I spent more then 2 days searching for an appropriate answer but didn't find anything. As I tried to build a WebSite using some Usercontrols combined with AJAX I'm thinking about letting the Usercontrols out.