c#gridview with lightbox

时间:2011-03-22 14:28:51

标签: c# javascript jquery asp.net gridview

所以我试图在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非常感激。

非常感谢!!!

1 个答案:

答案 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");
   }
}