如何在代码中使用asp:BoundField

时间:2014-05-21 13:01:24

标签: c# asp.net-mvc webforms

我正在尝试设置<asp:BoundField>控件的ID。但我收到消息:

  

对于未从控件继承的标记,Id属性无效。

我希望在各种情况下设置此标记的可见性。我该怎么办?

代码段后面的代码如下:

public String FilterByType
{
    get { return (ViewState["FilterByType"] as String); }
    set
    {
        if ((ViewState["FilterByType"] as String) != value)
            ViewState["FilterByType"] = value;                
    }
}

protected void Page_PreRender(object sender, EventArgs e)
{
      if (FilterByType == "in")
      {
          //set visible on
      }
}

还有webform片段:

<asp:GridView ID="gv" runat="server" DataSourceID="sds"
    <Columns>
        <asp:BoundField DataField="description" HeaderText="Description" SortExpression="description" />
    </Columns>
</asp:GridView>

2 个答案:

答案 0 :(得分:0)

protected void Page_PreRender(object sender, EventArgs e)
{
      if (FilterByType == "in")
      {
          gv.DataSource = dt;
          gv.DataBind();
      }
}

这里dt是具有sds和description字段的数据

答案 1 :(得分:0)

<asp:BoundField> 

没有Id属性。

查看MSDN

如果要设置特定边界字段的可见性,请使用OnItemDataBound方法中绑定的DataField来拾取它。

当我回到家时可以给你代码。