Click here to Skip to main content
15,900,378 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
Hello All

I have the following ListView

ASP.NET
<asp:ListView ID="lvPausedJobs" runat="server" EnableViewState="false" onitemcommand="lvPausedJobs_ItemCommand">
        <LayoutTemplate>
            <table border="0" cellpadding="5" width="600">
                <tr style="background-color:#E5E5FE">
                    <th align="left"><asp:Literal ID="Literal9" runat="server" EnableViewState="false">Job ID</asp:Literal></th>
                    <th align="left"><asp:Literal ID="Literal1" runat="server" EnableViewState="false">Name</asp:Literal></th>
                    <th align="left"><asp:Literal ID="Literal2" runat="server" EnableViewState="false">Job Number</asp:Literal></th>
                    <th align="left"><asp:Literal ID="Literal3" runat="server" EnableViewState="false">Task</asp:Literal></th>
                    <th align="left"><asp:Literal ID="Literal4" runat="server" EnableViewState="false">Start Time</asp:Literal></th>
                    <th align="left"><asp:Literal ID="Literal5" runat="server" EnableViewState="false">Pause Time</asp:Literal></th>
                    <th align="left"><asp:Literal ID="Literal6" runat="server" EnableViewState="false">Resume Time</asp:Literal></th>
                    <th align="left"><asp:Literal ID="Literal8" runat="server" EnableViewState="false">Resume</asp:Literal></th>
                </tr>
                <tr id="itemPlaceholder"  runat="server"></tr>
            </table>
        </LayoutTemplate>
        <ItemTemplate>
            <tr  runat="server">
                <td><asp:Label runat="server" ID="lblID"> <%# Eval("JobID") %> </asp:Label></td>
                <td><asp:Label runat="server" ID="lblName"> <%# Eval("CustomerName") %> </asp:Label></td>
                <td><asp:Label runat="server" ID="lblJob"> <%# Eval("JobNumber") %> </asp:Label></td>
                <td><asp:Label runat="server" ID="lblTask"> <%# Eval("Task") %> </asp:Label></td>
                <td><asp:Label runat="server" ID="lblStart"> <%# Eval("StartTime") %> </asp:Label></td>
                <td><asp:Label runat="server" ID="lblEnd"> <%# Eval("PauseTime") %> </asp:Label></td>
                <td><asp:Label runat="server" ID="lblDur"> <%# Eval("ResumeTime") %> </asp:Label></td>
                <td><asp:LinkButton ID="LinkButton1" runat="server" EnableViewState="false" CommandName="Resume" CausesValidation="false">Resume</asp:LinkButton></td>
            </tr>
        </ItemTemplate>
        <EmptyDataTemplate>
            <table border="0" cellpadding="5" width="600">
                <tr style="background-color:#E5E5FE" >
                    <th align="left"><asp:Literal ID="Literal9" runat="server" EnableViewState="false">Job ID</asp:Literal></th>
                    <th align="left"><asp:Literal ID="Literal1" runat="server" EnableViewState="false">Name</asp:Literal></th>
                    <th align="left"><asp:Literal ID="Literal2" runat="server" EnableViewState="false">Job Number</asp:Literal></th>
                    <th align="left"><asp:Literal ID="Literal3" runat="server" EnableViewState="false">Task</asp:Literal></th>
                    <th align="left"><asp:Literal ID="Literal4" runat="server" EnableViewState="false">Start Time</asp:Literal></th>
                    <th align="left"><asp:Literal ID="Literal5" runat="server" EnableViewState="false">Pause Time</asp:Literal></th>
                    <th align="left"><asp:Literal ID="Literal6" runat="server" EnableViewState="false">Resume Time</asp:Literal></th>
                </tr>
                <tr style="background-color:#EFEFEF">
                    <td colspan="7"><asp:Label runat="server" ID="lblName"> No Items to show </asp:Label></td>
                </tr>
            </table>
        </EmptyDataTemplate>
    </asp:ListView>


Now as you can see the link button has a command name. Now what is the correct way to get the controls text values during the ItemCommand event ? I have tried a lot of things like ListViewDataItem
ListView.DataKeys
FindControl

And I get one of two things, NullReferenceException or an empty string.

Thanks folks!
Posted

1 solution

First of all your Labels Text property should be declared...

Instead of...
ASP.NET
<asp:Label runat="server" ID="lblID"> <%# Eval("JobID") %> </asp:Label>

Do like...
ASP.NET
<asp:Label runat="server" ID="lblID" Text='<%# Eval("JobID") %>'></asp:Label>

Then inside the ItemCommand Event, you can code like below to get the Control.
C#
Label LabelEmail = (Label)e.Item.FindControl("lblID");
 
Share this answer
 
Comments
Abdallah Al-Dalleh 1-Jul-14 7:46am    
Works like magic! exactly what I meant! thanks a bunch bro!
Awesome. Welcome bro !!! :)

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900