C# 代码隐藏中的无法访问按钮
我在.aspx文件中有此按钮,并希望在codeBehind.aspx.cs文件中访问它 它在一个列表视图中,所以我假设这就是问题所在(我访问该列表视图之外的任何元素都没有问题)-只是似乎无法解决它 按钮代码(在ID为lvInstructorList的列表视图中): (二) 但这两种选择都不起作用。有什么想法/建议吗?谢谢大家! 以下是我的整个列表视图:C# 代码隐藏中的无法访问按钮,c#,asp.net,listview,web-controls,C#,Asp.net,Listview,Web Controls,我在.aspx文件中有此按钮,并希望在codeBehind.aspx.cs文件中访问它 它在一个列表视图中,所以我假设这就是问题所在(我访问该列表视图之外的任何元素都没有问题)-只是似乎无法解决它 按钮代码(在ID为lvInstructorList的列表视图中): (二) 但这两种选择都不起作用。有什么想法/建议吗?谢谢大家! 以下是我的整个列表视图: <asp:ListView ID="lvInstructors" runat="server" AutoGenerate
<asp:ListView
ID="lvInstructors"
runat="server"
AutoGenerateColumns="False"
ShowRegularGridWhenEmpty="False"
EmptyDataText="No Sessions to Display."
OnRowDataBound="lvDataBound"
OnRowCommand="lvCommand"
Visible="true">
<LayoutTemplate>
<div class="container" id="mainContent">
<asp:PlaceHolder ID="itemPlaceHolder" runat="server" />
</div>
</LayoutTemplate>
<ItemTemplate>
<div class="row instructorItem">
<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 btn = sender as Button;
btn.Text = "New text";
}
这两个代码段不起作用的原因是ListView中的项是基于索引的。你需要这样做
Button btn = ListView1.Items[i].FindControl("checkInBtn") as Button;
您始终可以将发件人强制转换回按钮
protected void checkInBtn_Click(object sender, EventArgs e)
{
Button btn = sender as Button;
btn.Text = "New text";
}
这两个代码段不起作用的原因是ListView中的项是基于索引的。你需要这样做
Button btn = ListView1.Items[i].FindControl("checkInBtn") as Button;
尝试一下,不幸没有运气。我希望我没有忽略什么。你觉得我的代码正确吗?我确信这两种方法都是100%有效的。您能显示完整的ListView项目模板吗?刚刚编辑了我的帖子以显示完整的ListView-感谢您的帮助,使用您的ListView进行了测试。我的代码片段有效。PS ListView没有行,但有项目
OnRowDataBound
>onimdatabound
感谢@VDWWD!终于弄明白了。您的解决方案起作用了,但我需要将我的Page_Load方法中的代码包装到'if(!IsPostBack){…}'语句中。谢谢你尝试一下,不幸没有运气。我希望我没有忽略什么。你觉得我的代码正确吗?我确信这两种方法都是100%有效的。您能显示完整的ListView项目模板吗?刚刚编辑了我的帖子以显示完整的ListView-感谢您的帮助,使用您的ListView进行了测试。我的代码片段有效。PS ListView没有行,但有项目OnRowDataBound
>onimdatabound
感谢@VDWWD!终于弄明白了。您的解决方案起作用了,但我需要将我的Page_Load方法中的代码包装到'if(!IsPostBack){…}'语句中。非常感谢
Button btn = ListView1.Items[i].FindControl("checkInBtn") as Button;