我正在维护一个ASP.Net 2.0网站,该网站在GridView中显示产品.客户询问我是否可以每隔10行显示一个"添加到购物车"按钮.我可以通过将按钮放在自己的列中并翻转可见性来做到这一点,但我想知道是否可以在每10个项目之后注入一个新行.这会将按钮放在自己的行上,并且当它不可见时不会占用列空间.有关如何做到这一点的任何想法?TIA
将行插入GridView是非常困难的.你有没有想过使用中继器?
鉴于以下标记:
<asp:Repeater id="repeater" runat="server">
<ItemTemplate>
<h1><%#Container.DataItem%></h1>
</ItemTemplate>
</asp:Repeater>
Run Code Online (Sandbox Code Playgroud)
在您选择的行中,您可以使用以下代码隐藏来插入自定义控件:
using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Collections.Generic;
public partial class Default : Page
{
protected override void OnInit(EventArgs e)
{
this.repeater.ItemCreated += repeater_ItemCreated;
base.OnInit(e);
}
protected override void OnLoad(EventArgs e)
{
this.repeater.DataSource = new List<String>
{
"one", "two", "three", "four", "five", "six", "seven"
};
this.repeater.DataBind();
base.OnLoad(e);
}
void repeater_ItemCreated(Object sender, RepeaterItemEventArgs e)
{
if (this.repeater.Items.Count > 0
&& this.repeater.Items.Count % 3 == 0)
{
this.repeater.Controls.Add(new LiteralControl("<h4>hello world</h4>"));
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1148 次 |
| 最近记录: |