文本框:仅在可见时绑定数据吗?

时间:2019-06-02 22:33:24

标签: c# asp.net gridview

我有一个带有不可见的TextBox控件的gridview,该控件在单击事件上是数据绑定的。另一个单击事件将可见性设置为true,但是TextBox为空。我可以重新绑定gridview,但是不明白为什么TextBox失去了它的价值。这是标准行为吗?

<asp:templatefield HeaderText="NewRate" Visible="false">
    <ItemTemplate>
        <asp:TextBox ID="TXBX_NewRate" runat="server" Text = '<%# Bind("NewRate") %>' width="20px" />
        <asp:Label ID="LabelRequirement" runat="server" Text = '<%# Bind("Requirement") %>'/>
    </ItemTemplate>
</asp:templatefield>

和事件方法:

    protected void CheckedChanged_EditarPlazo(object sender, EventArgs e)
    {
        if (CKBX_NuevoPlazo.Checked == true)
        {
            GridView_ContractFileContent.Columns[11].Visible = true;

1 个答案:

答案 0 :(得分:1)

使用css类来隐藏GridView中的列,而不是GridView_ContractFileContent.Columns [11] .Visible = false;。因为这在回发中会失去价值。

在aspx中

<head runat="server">
    <title></title>
    <style type="text/css">
        .hideGridColumn {
            display: none;
        }

        .showGridColumn {
            display: block;
        }
    </style>
</head>

在文件后面的代码中

  if (CKBX_NuevoPlazo.Checked == true)
            {
                GridView_ContractFileContent.Columns[1].HeaderStyle.CssClass = "showGridColumn";
                GridView_ContractFileContent.Columns[1].ItemStyle.CssClass = "showGridColumn";
            }
            else
            {
                GridView_ContractFileContent.Columns[1].HeaderStyle.CssClass = "hideGridColumn";
                GridView_ContractFileContent.Columns[1].ItemStyle.CssClass = "hideGridColumn";
            }