Forms Data Controls :: Update Button In Repeater Footer Won't Fire Event?
Nov 9, 2010
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.
I have one Datagrid with Footer. Footer Row Contains Input fields with one Button to add New Values. I have button click event but not getting fires. my code follows:
I have an repeater with two buttons. I tried two different ways to make a click event on the two buttons. Neither of the two ways function. They do both the same. No errors but the repeaters content disappear.
My repeater:
[Code]....
As you can see, onbtnForumGroupsDebateListEditDebateAdm I tried to use the repeaters ItemCommand
the code for this here:
[Code]....
Then I tried to do a simple OnCommand instead
The code for this is:
[Code]....
I tried to make a "run to curser" and can see, that I don't get into the functions.
I have a modal formview with insertitemtemplate. I have to click the insert button twice to fire the event.
But if I do not insert any values, only one click is required and the validationgroup fires. But if I enter all valid values, I need to click twice and the event does not fire during the first click. But I need CausesValidation = false because to required field validators.
How to avoid two clicks to fire the event if the formview is valid
I actually need a little help here I'm using LINQ and displaying some data through a Repeater, with everything working fine. The scenario is: for example, user "Daniel" has 2 songs; on my Linqdatasource I'm selecting "songName" (name of the file name to put it on my mediaplayer, to populate the mediaurl) and the "plainName" (the name which the user inserted as the name of the song). So I'm just gathering 2 strings. My .aspx code:
[Code]....
I have a LINQ Table "Vote" (userID, songID, vote -> float)... and I want to rate each song (at the moment there are 2 songs... and the limit will be 3 per user), via the button "rateSong"... I'm not expecting you to give me the code to perform the specific rating, but how will I get to the specific button event? Is it in the Repeater1_ItemCommand?
[Code]....
I've searched for a few posts on this forum, but none of them helped
i have two nested gridview inside an update panel. there is a button called btnPhoneEdit inside the child grid view. when the button gets clicked, it do cause partial post back as expected but it fails to invoke btnPhoneEdit_Click.
here is how my grid view looks like and how i add my custom data source to both parent and child grid view. [Code]....
I'm trying to hide a row in my repeater footer like so:
[Code]....
When it tries to hide the row i'm getting 'System.NullReferenceException: Object reference not set to an instance of an object.' Does anybody know how I can get araound this?
My repeater is available in a user control and I added the user control as a web part to an existing webpartzone. I could see all rows in the repeater (along with buttons). Once I click the (any) button, it loses all the rows and itemcommand never fires. I am using ASP.NET 4.0
I have a master page with a user control consisting of a repeater with a SiteMapDataSource. However when doing a post back on a page using the master page, the onitemdatabound event of the repeater in the user control does not fire.
I am building a website whereby people, before checking out of the shopping cart (and transferring to the payment iframe) can select which items from the shopping cart list to delete. The results from the shopping card are listed in a Repeater control. There is a Button in the Repeater which deletes a record from the database (used LINQ to SQL to do that.)
THe problem is that the ItemCommand event doesn't fire when i click the button. I tried 'response.write(test)' and it still would not work. It is as if the repeater cannot interact with the commands. It does render the results tho.
I am building a website whereby people, before checking out of the shopping cart (and transferring to the payment iframe) can select which items from the shopping cart list to delete. The results from the shopping card are listed in a Repeater control. There is a Button in the Repeater which deletes a record from the database (used LINQ to SQL to do that.)
The problem is that the ItemCommand event doesn't fire when i click the button. I tried response.write(test) and it still would not work.
It is as if the repeater cannot interact with the commands. It does render the results though.
Why would a button inside a Repeater not fire the Repeater's ItemCommand event? Is there a way to force it to do so? ViewState is Enabled. zn the code below, btnApprove and btnDelete are the buttons in question:
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.