CheckBoxList在不可见时不传递值

时间:2015-11-19 03:14:38

标签: c# asp.net webforms

我在asp.net中有以下CheckBoxList

<asp:CheckBoxList ID="cat_comp" runat="server" DataSourceID="cats_point_calc" 
DataTextField="cats_points" DataValueField="cats_points" Visible="false"></asp:CheckBoxList>

以下C#自动选择OnClick方法的所有复选框;

foreach (ListItem li in cat_comp.Items)
        {
            li.Selected = true;
        }

        int catselected = 0;

        for (int i = 0; i < cat_comp.Items.Count; i++)
        {
            if (cat_comp.Items[i].Selected)
            {
                string catval = cat_comp.Items[i].Value;
                catselected += int.Parse(catval);
            }
        }

当我将cat_comp Visible设置为true时,此代码工作正常,是否有方法传递这些值而用户无法查看此CheckBoxList?

1 个答案:

答案 0 :(得分:3)

每当您设置ASP.NET服务器控件的Visible属性时,不会呈现该特定控件,因此您将无法计算该值。

您可以设置display:none样式(或添加一个类),以便隐藏控件但您可以进行计算,如下所示: -

<asp:CheckBoxList ID="cat_comp" runat="server" CssClass="DisplayNone"

<style>
  .DisplayNone { display: none; }
</style>