0

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

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

编辑:我看到了如何在函数内部访问数据列表项,但是如何仅对事件处理程序中的 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 的事件,但无法解决问题。

4

2 回答 2

1

如果您的标签将其可见性设置为 false,它将不会在屏幕上呈现(与将可见性设置为隐藏的 div 块相反),所以我打赌这就是为什么您在发生了绑定。

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

于 2009-04-01T16:18:10.997 回答
0

假设您有该行,则使用:

row.FindControl("mylabelid")

于 2009-04-01T16:16:51.843 回答