【发布时间】:2016-11-07 16:35:25
【问题描述】:
我正在尝试在我的 gridview 表中的一列的 td 内添加一个 div。我发现this question 与我正在尝试做的事情相似,但答案不够彻底,无法让它按我的意愿工作。基本上,我是从 DataTable dt 自动为我的 gridview 生成数据:
GridView1.DataSource = dt;
GridView1.DataBind();
gridview 的 html 在这里:
<div class="gridTable" style="width:100%">
<asp:GridView runat="server" ID="GridView1" OnRowDataBound="GridView1_RowDataBound">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<div id="insideDiv" runat="server"></div>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
我希望在标题为“评论”的列上有一个内部 div。我的 OnRowDataBound 函数做到了这一点:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if(e.Row.RowType == DataControlRowType.DataRow)
{
HtmlGenericControl div = (HtmlGenericControl)e.Row.FindControl("insideDiv");
}
}
但我不确定如何从这里开始。我需要的是能够访问我的 css 中的 div,因为该列的格式与其他列不同。
【问题讨论】:
-
我认为您不能在服务器上运行标记。您可以使用
<asp:Literal id="lit0" runat="server" />从那里,您可以添加和设置标签、文本等。@Sometowngeek 是的,它可以在服务器上运行。这就是HtmlGenericControl 的用途。