我想更改后面的datalist代码中的div
类。如果div
不在数据列表中,则可以,但它在prsent的datalist中。我的代码是
<asp:DataList ID="datalistsorular" runat="server"
BorderColor="#CCCCCC" BorderStyle="Solid" BorderWidth="1px" Width="730px">
<ItemTemplate>
<div class="divsorugoruntulenmesayisi" id="cevaplanma" runat="server">
<asp:Label ID="Label7" runat="server" Text='<%# Eval("Cevaplanma_Sayisi") %>'></asp:Label>
</div>
</ItemTemplate>
</asp:DataList>
如果不在datalist中,我会做后面的代码,但是在这种情况下,datalist提出了一个问题。
cevaplanma.Attributes["class"] = "otherclass";
答案 0 :(得分:0)
由于此控件位于项目模板中,因此您不会仅使用id来获取此项,因为它不是唯一的。 您需要在事件处理程序中处理它。
<asp:DataList ID="datalistsorular" runat="server"
BorderColor="#CCCCCC" BorderStyle="Solid" BorderWidth="1px" Width="730px" onitemdatabound="datalistsorular_ItemDataBound">
<ItemTemplate>
<div class="divsorugoruntulenmesayisi" id="cevaplanma" clientIDMode="static" runat="server">
<asp:Label ID="Label7" runat="server" Text='<%# Eval("Cevaplanma_Sayisi") %>'>
</asp:Label>
</div>
</ItemTemplate>
你的代码背后应该是:。
protected void datalistsorular_ItemDataBound(object sender, DataListItemEventArgs e)
{
//Find control and apply the class..
// something like e.Item.FindControl("cevaplanma")
HtmlControl div = e.Item.FindControl("cevaplanma") as HtmlControl;
if (div != null)
{
div.Attributes["class"] = "className";
}
}
您需要添加以下行:
using System.Web.UI.HtmlControls;
答案 1 :(得分:0)
将数据绑定到此dataList后,dataSource中的每一行都将具有此div。您需要找到相应的行并设置类
((System.Web.UI.HtmlControls.HtmlContainerControl)(datalistsorular.Items[rowIndex].FindControl("cevaplanma"))).Attributes["class"]="anotherClass"