Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 447
  • Last Modified:

Handling DataList event from textbox changed

Greetings;

I need to capture the event where the user has changed the value of a textbox in a datalist row. There are no other user interactive controls other than this textbox. There are label controls in the row.

I have a ItemDataBound event routine which performs calculations involving this textbox, however, the new value of the textbox is not picked up by the ItemDataBound event.

Could my error be in expecting to access a changed textbox value defined within an ItemTemplate instead of an EditTemplate? If so, how might I get around this?

Much thanks ... David Bach
<asp:DataList ID="dlOrderSelection" runat="server" RepeatColumns="1" ShowFooter="False"
        Width="100%">
        <ItemStyle Wrap="False" />
        <HeaderTemplate>
            <table style="width: 100%;">
                <tr>
                    <td align="center" nowrap="nowrap" width="400px">
                        <asp:Literal ID="litProductName" runat="server" Text="Product Name"></asp:Literal>
                    </td>
                    <td align="center" width="100">
                        <asp:Literal ID="litSeatUnused" runat="server" Text="Seats Unused"></asp:Literal>
                    </td>
                    <td align="center" width="70">
                        <asp:Literal ID="litQuantity" runat="server" Text="Quantity"></asp:Literal>
                    </td>
                    <td align="center" width="110">
                        <asp:Literal ID="litCostPerUnit" runat="server" Text="Cost Per Unit"></asp:Literal>
                    </td>
                    <td align="center" width="90">
                        <asp:Literal ID="litTotalCost" runat="server" Text="Total Cost"></asp:Literal>
                    </td>
                </tr>
            </table>
        </HeaderTemplate>
        <ItemTemplate>
            <table id="Table4" runat="server" style="width: 100%;">
                <tr>
                    <td nowrap="nowrap" style="text-align: left" width="400px">
                        <asp:Label ID="lblProductSelect" runat="server" Text='<%# Bind("strName") %>'></asp:Label>
                    </td>
                    <td nowrap="nowrap" style="text-align: right" width="100px">
                        <asp:Label ID="lblProductCurrentUnusedSeats" runat="server" Style="text-align: right">0</asp:Label>
                    </td>
                    <td nowrap="nowrap" width="70px">
                        <asp:TextBox ID="tbxProductQuantity" runat="server" Width="70px" 
                            MaxLength="5" Style="text-align: right">0</asp:TextBox>
                    </td>
                    <td nowrap="nowrap" style="text-align: right" width="110px">
                        <asp:Label ID="lblProductPerItemCost" runat="server" Style="text-align: right">0</asp:Label>
                    </td>
                    <td style="text-align: right" width="90px">
                        <asp:Label ID="lblProductTotalItemCost" runat="server" Style="text-align: right">0</asp:Label>
                    </td>
                </tr>
            </table>
        </ItemTemplate>
    </asp:DataList>

Open in new window

0
David Bach
Asked:
David Bach
1 Solution
 
samtran0331Commented:
itemdatabound only fires when the datalist is bound...so you will lose any user-entered value...
your routine to loop through the datalist has to be in its own subroutine and not involve re-binding the datalist
0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now