Web Forms :: Personalization Properties Inside User Control?
Mar 19, 2010
I have a webpart that loads in a user control programmatically. Although the webpart has personalization properties that I can use and pass to the user control, I haven't found a way for the user control to be able to update the outer webpart's properties -- the user control knows nothing of its parent webpart except what it is given. When I try to use the [Personalizable] attribute on a property inside the user control, it doesn't work; it doesn't save anything to the personalization database. In a nutshell, I need the user control to be able to personalize its properties (e.g. for a date picker within the user control where the date has to be remembered between sessions) or to somehow be able to update its parent webpart's properties.
I need to access a control inside a repeater and change its properties. To enable it or not. I got an erorr message Object reference not set to an instance of an object. Here is my code inside a method. protected void
rptCAP_ItemDataBound(object sender, RepeaterItemEventArgs e) { LinkButton lnDel = (LinkButton)rptCap.FindControl("lnkDelete"); lnkDel.Enabled = false; //<<<<< this is where the error occur }
I want to use a couple of instances of the same control on a page. The user control is intended to display a list of records in a repeater. The aim is that the second control will show a list excluding the IDs in the first control The control has a number of public properties, including IDsInThisList, and IDstoExclude. The query will exclude the IDs in the second property.
What I would like to do is get the record IDs from the first instance of the control (IDsInThisList), and pass them to the second contro as the IDsToExclude.
I have a test page where I am setting the properties of the controls in code. As you might guess, it's not working! The first control displays the top 3 items, as desired, but the second display the records 1-7, rather than records 4-10 because it is not receiving the IDstoExclude from the first control When I response write the IDstoExclude from the first control in my testpage, the string is empty. (if I do it from within the control, it shows the IDs)
How can I get the controls to fire in order and pass values to each other?
Screen grab of test page + uc and test page code attached
I have a shopping website, I want to save all the user information (e.g templates, color preferences, shopping cart data, previous page, order number etc..) in SQL server.
For this either I can create my own functionality which will log everything to some sql database table and later that table can be used to show filtered reports to the admin.
Or I can use asp.net's built-in personalization concept. But in case I am using the personalization, can I/admin fetch the presonalization data of another user for reporting purpose?
Also, is personalization is the right approach to fulfull my requirements?
When I place the repeater inside a user control INSIDE ANOTHER user control and onto the page this works - the property is correctly set, if I inspect it inside the EnsureChildControls() method of the custom control the composite control's Value propertyis set to Eval("value") as intended.
i have a multiple user controls, each user control has multiple properties, i am loading those controls dynamically in my aspx page,i save the user control name in a hidden field in my aspx page,so i can know whats usercontrol are currently loaded,now i want to set/get some values for Currently user control properties,how can i know the properies available for that dynamics loads control ?also how to know the class for that control ?
Is it possible to set properties of an control inside a loop without using code behind? For example how can I set the Text property of the LinkButton inside the following loop at runtime, color being a POCO?
<table> <%foreach (var color in GetColors()) {%> <tr> <td><asp:LinkButton runat="server" Text='<%# ??color.MyProperty?? %>' /></td> </tr> <%}%> </table>
I have a user control (i.e. ascx) that comprises of two related list boxes (i.e. once you change the selected item in one list the contents of the other list update). I'm adding this user control dynamically to a page on the click event of a button (i.e. using LoadControl).I wish to set the list box datasource properties, as well as the default selected item of the parent list from my parent page so I created public properties in my user control to accomodate this. I also created an event in my user control that notifes the parent page when the selected item changes in one of the list boxes so I can update the contents of the other list box.
I understand that I have to recreate the user control on every postback in order for it to function correctly but I'm not sure exactly how I should be doing it. I've shown below what I have currently - whilst it works the problem is that on postback I'm always creating the user control with all its default properties and then updating the properties that need to change(?). For example, when the choice in theparent list box changes the datasource of the list box is set twice (once in AddControl and then again in OnParentChanged)? As the contents of the list boxes originate in a database it means I'm making unnecessary calls to the database (unless I do some something like store each unique set of data in the ViewState).
I'd be very grateful if someone could review how I've done things and illustrate how perhaps I should be doing things. I'm not sure if the way I've done this is considered the 'correct' way. For example there may be a better way of doing things would avoid setting the properties twice? I'm a bit unsure of the way I've set the datasource properties of the list boxes and bound them. I wished to set the datasource from the parent page because I might have a second user control on my page that may also use the same datasource and I could reuse it (as opposed to each control making its own call to the database) so I'd like to keep this feature if possible.It would be great if posting code in reply that you use my example as a guide so I know what you're referring to.Here's the code for my user control:
With following code, I can fetch all properties of user control. I need to get only those properties which were separately defined excluding the default ones.
I have a master page with a user control on it. How do I change the user control's properties from a content page?In my ascx file I created this 2 property:
I have a simple user control(.ascx) with a asp label inside of it. Using the codebehind(C#) from a aspx page, how can I change the text of that label? I have tried using public classes in my user control and a few other things that I could think of off the top of my head. Can somebody give me a quick example of how this would be done?
I have a ObjectDataSource and a ListView referencing it.
I have created a Templated User Control (see: http://msdn.microsoft.com/en-us/library/36574bf6.aspx) and placed it in the ListView's InsertItemTemplate It has one template <ContentTemplate>. Inside that template, I've defined a couple of server controls with their properties = '<%# Bind("colName") #>'.
All I would like to be able to do is include one user control within another! Is this possible? I have spent the last hour searching the internet and it seems that I can't find a single thing.
In classic ASP it would be something like: <!--#include file="EditProject.ascx"-->
I tried this but no luck!
Parser Error Message:
There can be only one 'control' directive.
Source Error:
[Code]....
Line 1: <%@ Control Language="VB" AutoEventWireup="false" CodeFile="EditProject.ascx.vb"Line 2: Inherits="Controls_WebUserControl" %>Line 3: <form runat="server">
I'm working on a project that uses a master page. When the page loads I'm calling a class (which I feed and ID into) to get back certain values for a location that the user has selected. Things like town name etc.
On the home page I have a user control which has some statistics for that location too.
Is there a way that I can get the user control to pull values from the class invoked by the Master Page (which has already been fed the ID, hit the db and pulled back the values), rather than creating a new instance of the class within the user control and having to supply the ID and hit the db all over again? This is now I'm calling the class in the masterpage. I have a method "CheckForStoredLocation" that goes off and gets all the data I need.
I am in need of some assistance in regards to how to best set the values of properties for a Web User Control which is being included into a cell of a GridView with dynamically created columns. I have tried a few different approaches, but can't seem to get a satisfactory result. Also, to be completely honest, I am not really sure if I am using best practices for what I am trying to accomplish.
First off a little background:I have a GridView for which we will never know the exact number of columns at run time. The columns are predicated by user selection. I am creating the command text for the DataSet on the fly and then looping through the columns of the resulting DataTable in order to use custom TemplateFields. This works ok for just printing out the row values but not so much for when I need to insert the Web User Control into a cell.The Web User Control is in essence a collection of image links which are used as a "Quick Nav" tool. I need to pass the values of 2 fields from each DataRow to the control via properties (for example, CustID and ProductID). I am using custom TemplateField classes inheriting from ITemplate for displaying my fields and extending the DataBinding event like so: [Code]....
This won't work for my User Control as DataBinding is called after the control is loaded into the page and I need the properties to be set before the Page_Load event of the control is fired.Is there a GridView event I should be looking into instead such as RowCreated or RowDataBound? Or should I modify how I loop through the DataTable by doing rows first, then the resulting columns as I've seen done elsewhere?
I have an ASP.NET 4.0 application with some simple user controls. The user controls work fine on the design surface (VS.NET 2010), but when they're loaded during application execution, nothing shows up.
Futhermore, the various child controls of the user controls are null when referenced inside the code behind for the user control.
The code behind for the user control executes as expected, but any reference to child controls are null.
It's like ASP.NET is never parsing the ASCX to create the instances of the child controls.
I have a very simple user control in my web site project which has public property declarations as following
[code].....
When i drag the ascx file to one of my aspx page and when i go to code behind of aspx page i can access the controls properties through intelisense, but when i run the project through visual studio i get error "The name 'uctTest1' does not exist in the current context?
This is the line where Error shows when i run the project uctTest.StartDate = DateTime.Now;
I'm creating a web user control in asp.net using C# in which i can select a date from a calendar and display it in a textbox. when i select a date from the calender it has to be displayed in the textbox. now i need to set my own properties by which i can select datetime patterns in cs codefile. for example
usercontrol1.dd-mm-yyyy.
this is one example. now i want all the datetime patterns of "en-us". when i use that usercontrol in another page i want to set any of the properties(datetime patterns) to that control.
public partial class DateControl : System.Web.UI.UserControl { string dateformat; public string Dateformat {
[Code].....
i said that i want set properties for my user control and create events for that..
I have a web user control that represents a simple message box. It is used to display simple messages like "Item has been deleted", or "The item was saved successfully".
On the other hand, I have another web user control that represents the item in the form of an editable form (I made this a user control because this is used in two different pages). I want to embed an instance of the message box user control inside the editable form. I am writing this right after the @Control directive:
[Code]....
Instead of using @Register directives, I register the user controls in web.config and so far this has worked just fine.
With the above markup, the project compiles, but whenever I try to navigate to a page that contains this construct, I get an HttpParseException exception. Furthermore, Visual Studio states that the tack w7rc9:MessageBox doesn't represent a known control.
I've created a multiple uploadfile user control - upload_multiple_files.ascx:
[Code]....
which has an update panel ID = up_upload_multiple_files this user control will be placed inside a modalpopupextender. My question is when I click in any button AddFile, RemvFile, Upload there's a postback so the page is reloaded and the modalpopupextender disapears Is there a way to to troubleshoot this?