请问C# DataList 如何动态替换<ItemTemplate>里的数据
我想实现淘宝那样的功能 横向排列 和纵向排列横向排列显示1条产品信息 纵向 显示4条产品信息css 都有了 可是 怎么动态的替换<ItemTemplate>里的css不然 就会 显示4条横向的 会超长 我想替换成 纵向的 css。请问该如何下手。多谢大虾指点
我想实现淘宝那样的功能 横向排列 和纵向排列横向排列显示1条产品信息 纵向 显示4条产品信息css 都有了 可是 怎么动态的替换<ItemTemplate>里的css不然 就会 显示4条横向的 会超长 我想替换成 纵向的 css。请问该如何下手。多谢大虾指点
DataList list = new DataList();
list.ItemTemplate = Page.LoadTemplate("A.ascx");
list.ItemDataBound += new DataListItemEventHandler(list_ItemDataBound);
list.DataSource = dt;
list.DataBind();
动态加载模版,或repeater通过cookie记录数据,JS修改
楼主可贴点代码!
<asp:DataList ID="DataList1" runat="server" >
<ItemTemplate>
<dd>
<div class="img">
<a href='../product.aspx?id=<%#Eval("pc_id") %>' title='<%#Eval("pc_name") %>'>
<img alt='<%#Eval("pc_name") %>' class="Picture125"
src='<%# "../images/"+Eval("pc_path").ToString() + "/"+ Eval("pc_photo").ToString()%>'
style="color: #0000ff; text-decoration: underline" /></a>
</div>
<div class="detail">
<ul>
<li class="name">
<h4>
<a class="title" href='../product.aspx?id=<%#Eval("pc_id") %>' title='<%#Eval("pc_name") %>'>
<span style="text-decoration: underline"><span style="color: #0000ff"><%#Eval("pc_name") %> </span><font class="description"><span style="color: #0000ff">
绝对性价比体现</span></font></span></a></h4>
</li>
<li class="icon"></li>
<li></li>
<li>厂商 HP 惠普</li>
<li>硬盘容量 250G</li>
<li>内存容量 1G(1*1G)</li>
<li><span style="float: left">评论:</span> <a class="rank5" href="#"
title="等级 5"><span style="color: #0000ff; text-decoration: underline">[9]</span></a> </li>
</ul>
</div>
<div class="control">
<ul>
<li class="original">
<label>
市场价:</label>
<del>¥1999.00</del> </li>
<li class="price">
<label>
新蛋价:</label><strong>¥1458.00</strong></li>
<li>
<div id="eggRe">
<label style="float: left">
评论:</label>
<a class="rank5" href="#" title="等级 5">
<span style="color: #0000ff; text-decoration: underline">[9]</span></a>
</div>
</li>
<li class="btn"><a class="btnBuy button buttonB" href="#"
title="购 买"><span style="color: #0000ff; text-decoration: underline">购 买</span></a>
<a class="btnBook button buttonA" href="#"
title="收 藏"><span style="color: #0000ff; text-decoration: underline">收 藏</span></a>
</li>
</ul>
</div>
</dd></ItemTemplate>
</asp:DataList>怎么 在ItemDataBound 里替换掉这段 css
这样就可以在后台重新进行设置了,如:重新设置你的
<div class="detail">
...
<span style="color: #0000ff">绝对性价比体现</span>1.首先设置id及runat-"server“;得到如下:
<div id="div1" runat="server" class="detail">
.....
<span id="span1" runat="server" style="color: #0000ff">绝对性价比体现</span>2.在DataList的ItemDataBound事件中:
protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
{
HtmlControl div1 = (HtmlControl)e.Item.FindControl("div1");
div1.Attributes.Add("class", "detail2");//新的class HtmlControl span1 = (HtmlControl)e.Item.FindControl("span1");
span1.Attributes.Add("style", "color:#ff00ff");//新的style
}
HtmlControl若没引用先要引用一下:
using System.Web.UI.HtmlControls;