Datalist中标签的ASP.NET事件处理程序

时间:2009-04-01 16:14:18

标签: asp.net event-handling datalist

我正在开发一个ASP.NET页面,并且在其中有一个带有不可见标签ID的DataList。 Datalist由查询A填充。

我正在尝试在我的VB代码中添加一个处理程序,它将运行查询B,在更改ID后,在项模板中填充不同的标签。我想我需要去DataList中的某个地方,但是通过Intellisense进行搜索并且谷歌搜索没有成功。有谁知道我如何达到那个标签?对不起,如果这是一个愚蠢的问题,谢谢你的帮助。

编辑:我看到如何在函数内部访问datalist项目,但是如何在事件处理程序中仅对DataList控件的一部分执行此操作?我看到的所有选项都与涉及数据列表的完整事件有关,而不是单个标签更改。感谢。

编辑2:

我想我会添加一些代码,以便更好地解释我遇到的确切问题。

                <asp:DataList ID="DataList1" runat="server" DataSourceID="Omitted,Ilikemyjob">
                <ItemTemplate>
                      <asp:Label ID="FromLabel" runat="server" Font-Size="Small" Text='<%# Eval("IncdntDate") %>'></asp:Label><br />
                      <asp:Label ID="ToLabel" runat="server" Font-Size="Small" Text='<%# Eval("Roadway") %>'></asp:Label><br />
                      <asp:Label ID = "lblCrossroad" runat ="server" Font-Size = "Small" Text = '<%# Eval("Crossroad") %>'></asp:Label><br />
                      <asp:Label ID = "lblRdwyID" runat ="server" Font-Size="Small" Visible = "false" Text = '<%# Eval ("RdwyID") %>'></asp:Label>
                      <asp:Label ID = "DistanceLabel" runat ="server" Font-Size = "Small" Text = '<%# Eval("RptTime") %>'></asp:Label><br />
                      <asp:Label ID = "lblTTime" runat ="server" Font-Size = "small" visible ="false"></asp:Label>
                      <hr />
                 </ItemTemplate>
            </asp:DataList><br />

我正在做DataList的事情,如果将lblRdwyID设置为某个值范围,我想要将值存储到lblTTime的其他查询,认为它不会总是设置为值。

我正在尝试设置一个事件,该事件将在设置lblRdwyID时触发,这将启动另一个查询并设置模板化项lblTTime的值并使其可见。有没有办法做到这一点?我试着弄乱DataList1的事件,但是无法做任何事情。

2 个答案:

答案 0 :(得分:1)

如果你的标签的可见性设置为false,它将不会在屏幕上呈现(而不是将可见性设置为隐藏的div块),所以我打赌这就是为什么你实际上找不到绑定发生后控制。

您是否尝试过使用DataKey属性来存储ID?它可以在行级轻松访问,如果需要,您可以存储其他数据。

答案 1 :(得分:0)

假设你有这行,你可以使用:

row.FindControl( “mylabelid”)