C# 如何更改此';签入';生成ListViewItem时的按钮?

C# 如何更改此';签入';生成ListViewItem时的按钮?,c#,asp.net,listview,C#,Asp.net,Listview,我想让“签入”按钮的颜色显示为绿色,具体取决于代码中某些其他数据的值,但我无法在onClick方法之外访问该按钮。我应该能够通过它的ID访问它,但由于某种原因我无法访问它 (附带问题:为什么我单击该按钮时SelectedIndex返回-1?在ItemWdata绑定事件中,查找所需的值,然后在此设置按钮颜色。您还可以在buttons命令参数中设置值,然后在click事件中获取该值 您需要访问列表视图的项数据绑定事件上的按钮,有条件地更改按钮的颜色 以下是可帮助您完成此任务的链接: 我很确定这个问

我想让“签入”按钮的颜色显示为绿色,具体取决于代码中某些其他数据的值,但我无法在onClick方法之外访问该按钮。我应该能够通过它的ID访问它,但由于某种原因我无法访问它


(附带问题:为什么我单击该按钮时SelectedIndex返回-1?

在ItemWdata绑定事件中,查找所需的值,然后在此设置按钮颜色。您还可以在buttons命令参数中设置值,然后在click事件中获取该值

您需要访问
列表视图
项数据绑定
事件上的
按钮
,有条件地更改
按钮的颜色

以下是可帮助您完成此任务的链接:


我很确定这个问题以前有人问过——访问listview中的控件。可能重复tbh我以前问过这个问题至少2到3次,但都是针对不同的问题(尽管结构非常类似的问题)&谢谢@蕭為元 , 你发布的链接帮助我找到了解决方案。
<asp:ListView
                ID="lvInstructors"
                runat="server"
                itemwDataBound="lvDataBound"
                itemCommand="lvCommand"
                Visible="true">
                <LayoutTemplate>
                    <div class="container" id="mainContent">
                        <asp:PlaceHolder ID="itemPlaceHolder" runat="server" />
                    </div>
                </LayoutTemplate>

                <ItemTemplate>
                    <div class="row instructorItem" id="instructorItem">
                        <asp:HiddenField ID="sessionID" runat="server" Value='<%#Eval("SessionID")%>' />
                        <asp:HiddenField ID="hasChckedIn" runat="server" Value='<%#Eval("hasCheckedIn")%>' />
                        <div class="col-2 sessionStartTimeDiv">
                            <p class="sessionStartTime"><%#Eval("SessionStartTime")%></p>
                        </div>

                        <div class="col-2 instructorHeadshotDiv">
                            <asp:Image class="instructorHeadshot" runat="server" src='<%#Eval("InstructorHeadshot")%>' />
                        </div>

                        <div class="col-5 sessionInfoDiv">
                            <h3 class="instructorName"><%#Eval("InstructorName")%></h3>
                            <p class="sessionInfo"><%#Eval("SessionInfo")%></p>
                        </div>

                        <div class="col-3 checkInBtnDiv">

                            <asp:Button class="checkInBtn" ID="checkInBtn" runat="server" OnClick="CheckInBtn_Click" Text="Check-In"></asp:Button>
                        </div>
                    </div>
                    <hr />
                </ItemTemplate>

                <EmptyDataTemplate>
                    <br />
                    <br />
                    No Sessions to Display.
                </EmptyDataTemplate>
            </asp:ListView>
protected void CheckInBtn_Click(object sender, EventArgs e)
    {
        Button checkInBtn = (Button)sender;
        checkInBtn.Text = "Check-Out";
        checkInBtn.BackColor = Color.Green;
        ...
    }