【问题标题】:Binding HeaderText to string in code behind在后面的代码中将 HeaderText 绑定到字符串
【发布时间】:2015-11-05 19:34:12
【问题描述】:

我正在调试一些旧代码,其中包含 .aspx 文件和后面代码的 c# 文件。我在弄清楚如何为 TemplateField 绑定“HeaderText”中的文本时遇到了一些麻烦。 (注意:以前从未使用过 aspx)。基本上,我在代码隐藏中有一个字符串数组,在 .aspx 文件中有几个不同的 TemplateField。我想将这些字段的 HeaderText 绑定到字符串。我知道对于 TextBoxes 它会是

Text = '<%# bindingStuffHere %> 

例如,假设我有一个如下模板字段:

<asp:TemplateField HeaderText=""  >

在我后面的代码中:

String[] days = new String[5]
days[0] = "SAT"

我想将“SAT”绑定到 HeaderText。模板位于 GridView 中。

【问题讨论】:

  • TemplateField 里面有什么Gridview、ListView或者哪个控件?显示小而完整的代码。
  • 网格视图。除了我发布的内容之外,我不确定我是否可以发布小代码。它有数千行长并且有很多错误。编写它的人硬编码了很多东西,所以我正在尝试解决一些问题。

标签: c# asp.net data-binding


【解决方案1】:

您不能在 asp:TemplateField 中绑定 HeaderText。相反,您可以实现 OnRowDataBound 事件并在那里更改标题文本。

protected void gridview_RowDataBound(object sender, GridViewRowEventArgs e)
{
     if (e.Row.RowType == DataControlRowType.Header)
     {
        for (int i = 0; i < e.Row.Cells.Count; i++)
        {
            e.Row.Cells[i].Text = days[i];
        }
     }
}

【讨论】:

  • 啊,我明白了。谢谢,我现在就玩这个!
  • 很高兴我能帮上忙。如果这能解决您的问题,请记住将此标记为答案。
猜你喜欢
  • 2016-06-15
  • 1970-01-01
  • 2020-06-30
  • 2019-08-07
  • 2018-05-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-14
相关资源
最近更新 更多