所以我试图在gridview上实现一个灯箱。我正在使用的灯箱是来自 here at particle tree
的灯箱无论如何,所以基本上你需要包含一个css并依赖你的链接来使它工作。我能够通过TemplateField成功地在每个单元格中包含一个没有问题的CSS类:
<asp:TemplateField HeaderText="Set of Links">
<ItemTemplate>
<asp:HyperLink ID="hyplink" runat="server" Text='<%#Eval("Link") %>' CssClass="lbAction" NavigateUrl="tolink.aspx?ruleset={0}"></asp:HyperLink>
<asp:LinkButton ID="link" runat="server" Text='<%#Eval("Link") %>'>LinkButton</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
这就是我所拥有的。请注意,我只是尝试哪一个更好,超链接或链接按钮,所以只要我可以使用任何对象,我可以使用它添加一个rel属性。 这是我背后的代码。
void theGrid_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Cells[0].CssClass = "lbAction";
e.Row.Cells[0].Attributes.Add("rel", "insert");
}
}
我也试过这个
protected void theGrid_RowCreated(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.CssClass = "lbAction";
}
}
但是我不能在vs2010的第二个中包含一个rel会给我那个红色的波浪线。
所以,对于如何在单元格中包含rel非常感激。
非常感谢!!!
答案 0 :(得分:1)
如果要将属性添加到每个控件,当数据绑定时,您可以找到每个控件并直接添加rel属性。
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
HyperLink hpl = (HyperLink)e.Row.Cells[0].FindControl("hyplink");
hpl.Attributes.Add("rel", "insert");
LinkButton lkb = (LinkButton)e.Row.Cells[0].FindControl("link");
lkb.Attributes.Add("rel", "insert");
}
}