Web Forms :: Setting Properties On A Dynamically Loaded Control As Template?
Jan 6, 2010
[Code]....
Once the template is loaded and cast back to the TabHeader class, it's null. How can I load that control, set the properties, and use it as the template? Or is the only way to go about doing this to create a custom class?
View 2 Replies
Similar Messages:
Jan 25, 2011
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:
[Code]....
[Code]....
Here's the code for my containing page:
[Code]....
View 1 Replies
Oct 23, 2010
im using a webusercontrol (hide.ascx) it has 2 buttons btn_hide,btn_expand
and in my other forms of all like(products.aspx)customers.aspx,orders.aspx
im using a panel conrol(pnl_products) where in im placing all the input controls.
i want to find the panel control in hide.ascx page and to set that
panel.visble=true/false property in this page.
View 2 Replies
Feb 5, 2010
How could I change (programmatically) a couple of properties in a grdiview template ? For instance, the CalendarExtender6.enabled and the textbox, Duetext.readonly.
[Code].....
View 2 Replies
Nov 5, 2010
I have created a user control that contains two asp calendar controls. I need to add this user control twice on the same asp page, let's say for Check in date and Check out date. Since the two are conflicting to each other when I add it twice statically, I now dynamically add them on button click so that each time only one control is loaded. The problem is, when I select a date on a calendar, it seems that the selection event is not happening at all. Of course, I am not getting any date.
View 4 Replies
Oct 26, 2010
My main file is messages.aspx and i am loading a UC names message_inbox.ascx dynamically as:
SiteUserControls_Message_MessageInbox InboxUC = Page.Load("message_inbox.ascx") as
SiteUserControls_Message_MessageInbox
Now in my user control ("message_inbox.ascx") i have a various events which i am combining in one group event :
public void ForwardLinkButton_OnClick(object sender, EventArgs e)
View 7 Replies
Jan 7, 2010
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?
View 5 Replies
Mar 11, 2011
I have a aspx page, default.aspx, with an user control in it. Inside the user control (UC 1) there is a DataGrid. When the DataGrid is loading data with ItemDataBound, I need to dynamically load another user control (UC 2) for each row in the DataGrid. UC 2 has a Button ( BTN )with an eventhandler associated with it in code behind.
User control loading is fine, and the Button, BTN, is there. However, when I click the Button, the eventhandler is not reached, not firing, even though the page does postback. I googled for this issues, and I know the dynamically loaded user controls need to be loaded every time the page is postback. In my case, it needs to be loaded each time the datagrid is doing ItemDataBound. I did it and even hook up the eventhandler with button click event each time when the user control is dynamically loaded. I set EnableViewState to true on the Page and controls.
The following is part of the code from UC 1, AcctPaymentDetail is UC 2 in the code.
[Code]....
And the following is UC 2 the is being loaded:
[Code]....
[Code]....
View 6 Replies
Jun 17, 2013
I have a tab control on my page and on click of tab user control is loaded dynamically.I need to load the javascript file of that user control dynamically. I don't want to add the reference of my js file on parent page.so in my .ascx page load event i added:
System.Web.UI.HtmlControls.HtmlGenericControl js = new System.Web.UI.HtmlControls.HtmlGenericControl("script");
js.Attributes["type"] = "text/javascript";
js.Attributes["src"] = "../../js/DatesJavaScript.js";
Page.Header.Controls.Add(js);
but it is not working.
View 1 Replies
Apr 20, 2010
I though it would be very simple but I can not get it today.I have a user control, with a grid control contained in it.
public Unit Width
{
get
[code]...
View 1 Replies
Feb 27, 2011
I have a user control that is dynamically added to a placeholder control inside an update panel in my main page. The user control has a linkbutton where I try to handle its Command event. The first time the link button is clicked after the user control loads, the form posts back but the command event handler does not execute, although the user control is still on the screen. The second and subsequent times the link button is clicked it works perfectly. When the user control first loads and I mouse over the link button, the browser status bar says: javascript: __doPostBack('ctl08$lbTest',''). After the first click, when I mouseover the link button the browser status bar shows javascript:__doPostBack('ctl07$lbTest',''). Why the changed in id, I can't figure but it must be why it is not hitting the event handler the first time it's clicked. Here is the cs code that loads the user control:
[Code]....
View 2 Replies
Nov 9, 2010
Regarding these two approaches:
<asp:Label ID="Label1" runat="server"><%# DateTime.Now %></asp:Label>
and
Label1.Text = DateTime.Now.ToString();
Which do you use and why?
View 2 Replies
Feb 16, 2011
I am having issues with my dynamically loaded control's events.Here is how I am loading the control:
protected void Page_Load(object sender, EventArgs e)
{
LoadSubPageEditTemplate();
}
protected void LoadSubPageEditTemplate()
{
pnlPageTemplate.Controls.Clear();
BaseOfferAdmin adminControl = (BaseOfferAdmin)this.LoadControl("~/Controls/SingleOfferAdmin.ascx");
if (adminControl != null)
{
adminControl.ID = "Control_ID"
pnlPageTemplate.Controls.Add(adminControl);
}
}
}
The LoadSubPageEditTemplate() is also fired from a button event on the page, since I have to update it after the button event has executed.
The control loads perfectly, I have tested it with a basic button and the postback fires as expected. However, I am getting weird results with CheckBoxes.
<asp:CheckBox runat="server" ID="cbOptionalAction" Text="CheckBox" AutoPostBack="true" OnCheckedChanged="cbOptionalAction_CheckChanged" />
The CheckedChanged event only fires when the Checkbox is checked, which I guess means there is some issue with my control viewstate. If I have multiple checkboxes on the page, and one creates a postback, the checkchanged event is fired for each checkbox that is checked.
View 1 Replies
Mar 30, 2010
i created a user control that has a template container.
[code]....
This is control is placed in a repeater which lists some customers. The customer is than bound to the user control. When the name template is instantiated in the container, the customer object is not yet available, but I need to access its name because it needs to get parsed before.
[code]....
Question: How can I access properties set for the user control BEFORE the template container is instantiated?
View 1 Replies
Jul 31, 2010
I have created a web user control (MemberDetails.ascx) which is loaded dynamically on a page (Member.aspx) for my website. The control has some TextBoxes. I want to store the values inputted by a user in these TextBoxes to a database on the click event of a button that is on the Member.aspx page (i.e. not a part of user control).
I'll use a small code for example.
Member.ascx page:
[Code]....
View 1 Replies
Feb 18, 2011
I have an aspx page which has 5 text controls as follow:
<asp:TextBox id="txtStudent1" runat="server" textmode="SingleLine"></asp:TextBox>
<asp:TextBox id="txtStudent2" runat="server" textmode="SingleLine"></asp:TextBox>
<asp:TextBox id="txtStudent3" runat="server" textmode="SingleLine"></asp:TextBox>
<asp:TextBox id="txtStudent4" runat="server" textmode="SingleLine"></asp:TextBox>
<asp:TextBox id="txtStudent5" runat="server" textmode="SingleLine"></asp:TextBox>
How can i set new text to each of these controls dynamically in .cs
WITHOUT explicitly doing something like this:
txtStudent1.text = "freshment";
txtStudent2.text = "Sophomore";
txtStudent3.text = "junior";
txtStudent4.text = "senior";
txtStudent5.text = "grad";
Can I use the for loop and increment the digit in the text control when setting its text?
ex:
For (int i=0; i<5; i++)
{
"txtStudent" + i .....
}
View 4 Replies
Feb 20, 2011
Hosting page:
protected void Page_Load(object sender, EventArgs e)
{
LoadMyControl(Parameters); //Do it every page load to preserve it's state
}
protected void LoadMyControl(string parameters)
{
plchld.Controls.Clear();
Control userControl = LoadControl("TheUserControl.ascx");
userControl.ID = "userControl1";
plchld.Controls.Add(userControl);
}
Now inside this control, when a button is clicked I want to update ,let's say a Label on the hosting page.
What is the best way to do it? Custom event?
View 1 Replies
Feb 12, 2010
I have a problem with ViewState. I have an aspx page that has a treeview on the left and an UpdatePanel with an ASP.NET Panel inside on the right. It is in that inner Panel where I load and unload dynamically user controls. I use that update panel to load dynamically controls.
I also made a custom control for my user controls because I need to pass some values from page. On that constructor I use ViewState to store these values.
The first time I load the user control I call its constructor with parameters. When I reload that user control on each postback I use its normal constructor.
My problem is I the values I've stored on ViewState has become null on successive postback.
Update:
This is a piece of my user control:
public class MyUserControl : System.Web.UI.UserControl
{
private int PKId
{
get { return ViewState["pkId"] as int; }
set { ViewState["pkId"] = value; }
}
public MyUserControl(int pkId)
{
this.PKId = pkId;
}
...
}
I'm following this article to load controls dynamically: http://msdn.microsoft.com/en-us/magazine/cc748662.aspx#id0070065.
Second Update:
I also set the same control ID when I load the user control at first time and on each reaload.
Maybe I can use another method to store these values like input hidden fields or Cache. I've choosen ViewState because I don't want to overload server with Session values for each user.
Third update:
I load the controls with this code:
System.Web.UI.UserControl baseControl = LoadControl(ucUrl) as System.Web.UI.UserControl;
if (baseControl != null)
{
baseControl.ID = "DestinationUserControl";
PanelDestination.Controls.Add(baseControl);
}
And reaload with this code:
DynamicControls.CreateDestination ud = this.LoadControl(TrackedUserControl) as DynamicControls.CreateDestination;
if (ud != null)
{
ud.ID = "DestinationUserControl";
PanelDestination.Controls.Add(ud);
}
View 4 Replies
Feb 23, 2010
I have user control that inherits a base control class and these user controls are loaded using the LoadControl method, I can't seem to figure out how to raise events from user controls to the page that are dynamically loaded this way. Here is the delegate and event in the base user control class.
public delegate void SomeChangeEventHandler(object sender
, SomeChangeEventArgs e);
public event SomeChangeEventHandler SomeChangeEvent;
public virtual void OnSomeChanged(SomeChangeEventArgs e)
{
if (SomeChangeEvent != null)
{
SomeChangeEvent(this, e);
}
}
View 1 Replies
Jun 11, 2012
trigger dynamically loaded usercontrols click event?
What i did.........Created User Control like One.ascx with one button
<%@ Control Language="C#" AutoEventWireup="false" CodeFile="one.ascx.cs" Inherits="one" %>
<asp:Label ID="Label1" runat="server" Text="Hello, this is My First User Control dynamically loaded :)">
</asp:Label><asp:Button ID="btnShow" runat="server" Text="Show" OnClick="btnShow_Click" />
On Code behind public void btnShow_Click(object sender, EventArgs e) {
[Code] .....
Fail to redirect user to google.com by clicking button which written in .ascx file.
View 1 Replies
Sep 10, 2010
I have a page that contains a custom tab control. When you click different tabs, it does a an ajax callback. During that ajax call, the code dynamically loads a different control based on which tab was clicked, then adds it to the appropriate tab. So basically I have some code that does a switch statement, uses LoadControl(), then adds the control in.
The issue I'm having is that none of the javascript within each of those controls that gets loaded is getting registered on the page. Based on this thread:
[URL]
I thought I just had to switch from using Page.ClientScript.RegisterClientScriptBlock to ScriptManager.RegisterClientScriptBlock. I did that, but still nothing. Am I misunderstanding something about the ScriptManager? I want the javascript to be registered from within the dynamically loaded control, which happens to be loaded during an AJAX call.
View 1 Replies
Jul 31, 2010
I have a blank user control (child) and during Page_Load i create some text boxes and a button. I also add an event to the button.
I then load that user control dynamically from a placeholder in another usercontrol (parent). Both controls are rendered correctly but when i click on the button, the event isnt fired. how to handle the event?
Child code:
[code].....
If i use the child control directy (ie without the parent the control) the click event is raised and handled nicely. But when i use the parent control, the debugger wont even hit a breakpoint inside UpdateButton_Click().
View 1 Replies
Mar 18, 2010
For example, let's say I have a HyperLink:
<asp:HyperLink runat="server" Text="Foo" NavigateUrl="foo.aspx" />
How can I set the NavigateUrl on the server side, without having to go the code-behind?
This doesn't work of course:
<asp:HyperLink runat="server" Text="Foo" NavigateUrl="<%= urlString %>" />
(where urlString might be a string I created earlier in the page)And this doesn't work because the HyperLink is not within a data bound control:
<asp:HyperLink runat="server" Text="Foo" NavigateUrl='<%# urlString %>' />
I guess I could just use a standard anchor element:
<a href="<%= urlString %>">Foo</a>
But I'd rather not mix up HTML and ASP.NET controls, and it would be handy to be able to do this for other controls.
View 2 Replies
May 27, 2010
I need to access the controls dynamically created template fields at run time in datagrid in post back event. Is there any way to retrieve the values in post back event? Or else give the ideas to acheive my requirement. I need to create no of rows and columns as text box as per user input. After fill the values to text box , i need to access the values in submit button.
View 1 Replies
Mar 17, 2010
A have a ListView that is rendered with multiple items. Now I want to toggle some HTML attributes with JQuery. Therefore it would be best to have access to these elements via an unique ID.
But trying to create a "dynamic" and therefore unique ID by
<tr runat="server" ID='<%# this.GetUniqueID() %>'>
</tr>
results in an error that tells me that the ID needs to be simple and cannot be set by a call to a method.
I know that I can dynamically create controls in the code-behind and set the ID there. But in this case, I'd rather like to let the content be rendered by the ListView itself.
That brings me to the conclusion that the idea of setting a dynically ID in the Template is totally wrong. How can I achieve the desired behaviour?
Edit: Ok I just found out, that I can set the ID with a BindingExpression, like
ID='<%# Eval("MyColumnWithUniqueID") %>'
Still, is there another, or even better solution to this?
View 1 Replies