我的代码背后: public void rt_chnaged(-6ren">
gpt4 book ai didi

c# - 如何在 C# 中检索数据列表项?

转载 作者:太空宇宙 更新时间:2023-11-03 10:43:03 25 4
gpt4 key购买 nike

我的源页面:

  <asp:DataList ID="datalist" RepeatColumns="6" runat="server" > 
<ItemTemplate>
<div class="rating">
<div>
<cc1:Rating ID="Rating1" AutoPostBack="true" OnChanged= "rt_chnaged" runat="server" StarCssClass="ratingstar" RatingAlign="Horizontal" WaitingStarCssClass="ratingSaved" EmptyStarCssClass="ratingEmpty" FilledStarCssClass="ratingFilled">
</cc1:Rating> </div>
<asp:Label runat="server" ID="Label2" Text='<%# Eval("moviename") %>' Visible="true"></asp:Label>
</div>
</ItemTemplate></asp:DataList>

我的代码背后:

 public void rt_chnaged(object sender, AjaxControlToolkit.RatingEventArgs e)
{
Label lbl = null;
foreach (DataListItem li in datalist.Items)
{
lbl = li.FindControl("Label2") as Label;
}
Label3.Text = lbl.Text;
}

这里 我的问题很简单,但我花了很多时间来解决这个问题,这让我更加挣扎。

在这里,我绑定(bind)了数据库中的所有内容。我真正想要的是,在点击相应的评分栏时,我需要在标签外显示相应的电影名称,即 Label3。

例如:

考虑在电影名称列(数据库)中包含变形金刚、人猿星球和曼卡塔。所以这里我的输出将是三个带有三个评级栏的标签。所以我现在想要的是,我只需要将标签2(数据列表内部)中的电影名称显示到标签3(数据列表外部)

在这里我尝试了我的代码(之前提到过几行),但总是只得到 Mankatha,因为每个。我能理解原因,但正在努力寻找解决方案。

请有人帮我解决这个问题。提前致谢。

最佳答案

您可以使用 NamingContainer项目中的控件(也适用于其他数据绑定(bind) Web 控件,如中继器或 GridView )。

sender 始终是引发事件的控件,在本例中是 Rating 控件:

public void rt_chnaged(object sender, AjaxControlToolkit.RatingEventArgs e)
{
Rating rating = (Rating) sender;
DataListItem item = (DataListItem) rating.NamingContainer;
Label lbl = (Label) item.FindControl("Label2");
Label3.Text = lbl.Text;
}

关于c# - 如何在 C# 中检索数据列表项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24572467/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com