I designed a user control. It contains a public property "CurrentValue". When I try to initialize the property using an Eval expression, a null value is assigned.
// In below code, label assignment is OK, RatingNull user control assignment get null
I have one ASP.Net web page dynamically loading any one of about twenty User Controls at a given time. Since each user control is somewhat different, I've implemented the following extension to me pass a variable number of parameters to custom user control constructors: [URL]It, by the way, works very well! However, I've now come across the fact that both the web page and the user controls will need to share a few Data Tables. In other words, both the web page and the user control will need to access and manipulate data in these data tables.
To implement this fact I've used the Session object to store each data table. Each of these data tables starts out empty and then starts growing as the user enters more data into the user controls. The initialization of the data tables has to be done in the web page for a series of technical reasons that I won't get into here but rest assured that it does have to occur there.
But I found that in order to ENSURE that the initialization was taking place, it was simplest to just pass a reference to each data table as an extra parameter in the LoadUserControl call. This does work but it seems like overkill to me because on the user control constructor side, nothing is actually done with the data tables at the time of instantiation of the user control.
This made me go back to basics, thinking, "Why include a parameter if you're not actually going to use it?" But yet, it does seem to be the most straightforward way to ensure the data table is initialized and stored in the Session object.
What I am trying to achieve:I am trying to take the value of the selected index and depending on what this value is (e.g. the case selection in the code below) run a different query on the dataset and then create a repeater control dynamically to output each row with an item template that I can use css to style.
In other words: When a user choses a list item it shows only rows from the dataset that match the list item chosen. For example if a user choses Closed Tickets they only see rows from the dataset that have a STATUS of 'CLOSED'.
What I have done so far: [Code]....
What I'm struggling with at the moment is:
1) That the case selection works but the selection of the appropriate data from the dataset doesn't seem to be happening. And this data isn't getting stored in rows as I had hoped.
2) I'm not sure entirely how to display the dynamically created repeater control in the admin.aspx page.
Edit: I have a working solution already - I would just like to know why my original attempt didn't work. My original attempt is the code below.
I'm using the approach I found here:[URL] 306154 to implement a nested Repeater. Each parent item has one or more children items (the point of having the nested Repeater) with a dropdown horizontally aligned to each child item. In an effort to re-use the nested part of the Repeater I wanted to develop that piece as a user control but couldn't get it to work. I am wondering if it is even possible and if so how?
And here is my code behind for the user control. I noticed when I debugged NestedDataSource was null even though in the parent page load the data is there:
The page loads but nothing relating to the repeater appears on the screen. So, can you see anything wrong with what I have? Is the way I tried doing this even possible?
I am using a repeater control and i want to use one more repeater control inside the existing repeater control .
Like this:
<asp:Repeater ID="Repeater1" runat="server"> <HeaderTemplate> </HeaderTemplate> <ItemTemplate> <!-- start child repeater --> Here I want to use one repater control <!-- end child repeater --> </ItemTemplate> </asp:Repeater>
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.
Furthermore, 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 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 dynamically created address user control (on a customer administration screen) that is created through the use of a place holder. A customer can have multiple addresses, so they dynamically dropped onto the page.
I have got this far, but now I need to be able to save the updated addresses for the customer but I can't get any event to fire on the user controls. When I check to see run plhAddress.HasControls() it returns false?
The way I am generating the user controls is as follows.. private UserControl LoadControl(string UserControlPath, params object[] constructorParameters)
I bind to the Repeater through the myRepeater_Load event handler. My custom control is used to render an item within the Repeater. Because of this, I am trying to set properties on the custom control during the myControl_Load event handler. However, I do not know how to access the current item during the myControl_Load event.
Is there a way I can pass along the current item or access the current item during the myControl_Load event? If so, how?
I have a checkbox on my page that must be ticked and to validate it I am using a custom method as below. The problem is that I now put the checkbox and method within a Create User Wizard custom tempalte and when I submit the form it does not activate the validation check. If I put a normal button on the page outside the tempalte it works. Not sure If I a missing something. Perhaps I can activate it in Created User Event handler in code behind. All Button in my create user Event.
I have a simple user control that I have placed inside a repeater. I want to access it through the ItemDataBound event of the repeater. Here's my code so far:
[Code]....
Not so sure what to do about all of this. I have developed a simple calendar using an XML doc and a repeater. The parent repeater contains a child repeater that lists events based on the date. I have a User Control that has some unique capablities for control the date in a link button. I want the user to click on the User Control and be able to use the information to do something. Bottom line, I want to access the linkbutton inside the repeater.
I have a user control that contains a repeater. We have added some paging and sorting into the user control and it all works well.
What I need now is a nice way to catch the OnItemDataBound event of the inner repeater and then bubble it up to be accessible directly from the user control from within the page.
We have tried catching it and then declaring it in the user control but it just won't work.
I am using Linkbutton inside the Repeater Control to display the paging ........and m calling Page change event on client click ....m attaching u code that m using it work fine in some webform but somewhere it didn't go the page change method on clicking page no. .....
My page is using the Master page. I am using TabContainer ajax control in my aspx page and have a TabPanel that contains a RadioButtonList control and a text box. I want to show/hide populate the text box based on on the selected value of RadioButtonList. I am able to populate values of all the controls on Page_load() but onlclick()event dos not get triggered. How can force onclick() JavaScript event to trigger for the default selected value of RadioButtonList?
I am using an ASP.net menu control on my page. The page direction is changed using "dir" attribute of body/table containing menu control. Every thing works fine but the drop down position of menu control remains on the right side instead of left if changed to rtl. Can anyone suggest way out?? I am more interested in server side script instead of CSS.
I have a gridview called gvResults. In the gvResults_RowEditing event I add a row below the one selected. In that new row, which spans all columns, I insert a user-control. There are two buttons and some textboxes in the user control.
My problem is that when I click one of the user-control buttons it never gets to the button event handler, I think because the user control is not recreated on the page postback. How can I have the user-control events fire before the parent page events fire?
I tried using an update panel, but I still get the parent posting back before the user-control events.
I've got a repeater that's used to display the output of a dynamic report that takes criteria from webcontrols on the page. Within the repeater's ItemDataBound method I'm adding controls (Linkbuttons for sorting by column values) dynamically to the header of the repeater based on values selected in a checkbox list and at this point setting the CommandArgument and CommandName properties of the linkbuttons.
The issue is that when the linkbuttons are clicked they don't fire the ItemCommand event although they are clearly being correctly created and added to the header (there is some additional code to set the cssClass, text etc. and this works as expected.) The first column header in the repeater is set in the markup and the itemcommand event fires correctly on this one only. When the other column headers are clicked the repeater rebinds as programmed, but the columns are not dynamically re-generated.
Nightmare.ascx <asp:repeater runat="server" id="rptReport" OnItemDataBound="rptResults_ItemDataBound" OnItemCommand="rptResults_ItemCommand" EnableViewState="true"> <headertemplate> <table> <tr runat="Server" id="TRDynamicHeader"> <th> <!-- This one works --> <asp:Linkbutton runat="server" CommandName="sort" commandArgument='<%# Eval("Name")%?' /> </th> <!-- additional header cells get added dynamically here --> </tr> </headertemplate> <itemTemplate> <td><%# Eval("Name")</td> ... </itemTemplate> </asp:repeater> Nightmare.ascx.cs protected void PageLoad(object sender, eventArgs e){ if (! isPostback){ setupGui();//just binds dropdowns etc. to datasources } } protected void btnRunReport_Click(...){ List<ReportLines> lstRep = GetReportLines(); rptReport.DataSource = lstRep; repReport.DataBind(); } protected void rptReport_ItemDataBound (...){ if (e.Item.ItemType == ListItemType.Header) { foreach (ListItem li in chbxListBusFuncs.Items) { if (li.Selected) { th = new HtmlTableCell(); lb = new LinkButton(); lb.CssClass = "SortColHeader"; lb.CommandArgument = li.Text.Replace(" ", ""); lb.CommandName = "sort"; lb.Text = li.Text; th.Controls.Add(lb); ((HtmlTableRow)e.Item.FindControl("TRDynamicHeader")).Cells.Add(th); } } } if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { //Row level customisations, totals calculations etc. } } <!-- this only gets called when the 'hardcoded' linkbutton in the markup is clicked. protected void rptReport_ItemCommand(object sender, Eventargs e){ lblDebug.Text = string.Format("Well? What's Happening? -> {0}:{1}", e.CommandName, e.CommandArgument.ToString()); } (The only thing that can call the runreport routine is a single button on the page, not shown in the code snippet above.)</textarea></p> <input type='hidden' name='ID[3]' value='82079' /> <input type='hidden' name='URL[3]' value='http://forums.asp.net/t/1472917.aspx' /> <input type='hidden' name='CAT[3]' value='Forms Data Controls' /> <input type='hidden' name='BOARD[3]' value='microsoft' /> <input type='hidden' name='P_DATE[3]' value='Sep 21, 2009 02:16 AM' /> <input type='hidden' name='RANDOM[3]' value='uck4OZUSh' /> <input type='hidden' name='REPLIES[3]' value='6' /> <input type='hidden' name='USER[3]' value='aziz' /> <p><input class=subject type='text' size='90' name='SUBJECT[3]' value='Forms Data Controls :: ValidationGroup causes button not to fire ItemCommand event' /><select name='INDEXED[3]'><option value='1' selected>UPDATE</option><option value='2'>DELETE</option></select>Sep 21, 2009 02:16 AM - Replies: 6 CAT: Forms Data Controls<a target=_blank href="http://forums.asp.net/t/1472917.aspx">View</a></p> <p> <textarea rows=10 cols=100 name='POST[3]' onfocus='setSelRange(this, 0, 0)'/>
I have a page with a couple of RequiredFieldValidators, each in its own ValidationGroup. One of the RequiredFieldValidator controls is inside a Datalist and the submit button triggers the relevant DataList_ItemCommand. It works just dandy until I add the ValidationGroup to the button, at which point clicking on the button no longer fires the DataList_ItemCommand event. Here is the HTML
[Code]....
Note that the ValidationGroup name is there, and it is unique. No other ValidationGroups exist with that name. As it stands, this code does NOT fire the DataList_ItemCommand event, so no update occurs. However if I remove the ValidationGroup declaration from the Button control, the event fires properly.
i have a repeater with a button in the footer template which i want to be able to update any of the items that are added (update quantites/totals/delete the item). however the 'UpdateOrderDetails' event never fires when the button is clicked. here is the code within the repeater...
<ItemTemplate> <tr> <td> <asp:CheckBox ID="chkDelete" runat="server" /> <asp:HiddenField ID="hidProduct_Key" runat="server" /> </td> <td><asp:Literal ID="ltlProduct_Name" runat="server" /></td> <td><asp:Literal ID="ltlProductOption_Size" runat="server" /></td> <td><asp:Literal ID="ltlProductOption_Code" runat="server" /></td> <td><asp:TextBox ID="txtQuantity" runat="server" /></td> <td><asp:Literal ID="ltlItemPrice" runat="server" /></td> <td><asp:Literal ID="ltlLineTotal" runat="server" /></td> </tr> </ItemTemplate> <FooterTemplate> <asp:Panel ID="pnlFooter" runat="server" Visible="False"> <tr id="trTotalExVAT" runat="server"> <td colspan="6">Total (ex VAT)</td> <td><asp:Literal ID="ltlTotalExVAT" runat="server" /></td> </tr> <tr id="trVAT" runat="server"> <td colspan="6">VAT</td> <td><asp:Literal ID="ltlVAT" runat="server" /></td> </tr> <tr> <td colspan="5"> <asp:Button ID="btnUpdate" OnClick="UpdateOrderDetails" Text="Update" runat="server" /> </td> <td>Delivery</td> <td><asp:Literal ID="ltlDelivery" runat="server" /></td> </tr> <tr> <td colspan="6">Total</td> <td><asp:Literal ID="ltlTotal" runat="server" /></td> </tr> </asp:Panel> </table> </FooterTemplate> the 'updateorderdetails' event in code behind is here Public Sub UpdateOrderDetails(ByVal s As Object, ByVal e As RepeaterCommandEventArgs) For Each objRepeaterItem As RepeaterItem In rptOrderDetails.Items Select Case objRepeaterItem.ItemType Case ListItemType.AlternatingItem, ListItemType.Item Dim chkDelete As CheckBox = objRepeaterItem.FindControl("chkDelete") Dim hidProduct_Key As HiddenField = objRepeaterItem.FindControl("hidProduct_Key") Dim txtQuantity As TextBox = objRepeaterItem.FindControl("txtQuantity") ' check for deletion or update If chkDelete.Checked Then Me.Basket.RemoveProduct(hidProduct_Key.Value) Else ' check for update If IsNumeric(txtQuantity.Text) AndAlso CInt(txtQuantity.Text) >= 0 Then Me.Basket.Products(hidProduct_Key.Value).Quantity = txtQuantity.Text End If End If End Select Next ' update order details BindOrderDetails() End Sub but this procedure is never called when the button is clicked, so wondered what i need to do to get this working </textarea></p> <input type='hidden' name='ID[5]' value='49574' /> <input type='hidden' name='URL[5]' value='http://forums.asp.net/t/1522852.aspx' /> <input type='hidden' name='CAT[5]' value='Web Forms' /> <input type='hidden' name='BOARD[5]' value='microsoft' /> <input type='hidden' name='P_DATE[5]' value='Feb 07, 2010 06:01 AM' /> <input type='hidden' name='RANDOM[5]' value='OoKSV9VFH' /> <input type='hidden' name='REPLIES[5]' value='3' /> <input type='hidden' name='USER[5]' value='aziz' /> <p><input class=subject type='text' size='90' name='SUBJECT[5]' value='Web Forms :: ItemCommand not get fire of datalist in IE' /><select name='INDEXED[5]'><option value='1' selected>UPDATE</option><option value='2'>DELETE</option></select>Feb 07, 2010 06:01 AM - Replies: 3 CAT: Web Forms<a target=_blank href="http://forums.asp.net/t/1522852.aspx">View</a></p> <p> <textarea rows=10 cols=100 name='POST[5]' onfocus='setSelRange(this, 0, 0)'/>
I have imagebutton inside datalist.....the problem is that onclick event of serverside not get executed for only IE ..but its work fine for mozzila....i m not getting what wrong in this code.
To be fair, this is a part two follow up to Using C# to recursively get a collection of controls from a controlcollection. - and rather than heap another question onto the old one, I created a new one. Here is the code that I'm using:
private void GetControlList<T>(ControlCollection controlCollection, ref List<T> resultCollection) where T : Control { foreach (Control control in controlCollection) [code]...
and is involked like this when the form is submitted
List<CheckBox> checkboxes = new List<CheckBox>(); GetControlList(RepeaterCapability.Controls, ref checkboxes);
I don't get any results when I clearly added several during the repeater OnItemDataBound event.
This is what I have in the RegisterUser.aspx and yet when the admin registers a new user, then on clickiing the register button, the site logs in as the user who was just created.