CheckBoxList 在不可见时不传递值
CheckBoxList not passing values when not Visible
我在 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# 以自动 select 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 的情况下传递这些值?
每当您设置 ASP.NET 服务器控件的 Visible
属性 时,不会呈现该特定控件,因此您将无法计算该值。
您可以改为设置 display:none
样式(或添加 class)以便隐藏控件,但您可以进行计算,如下所示:-
<asp:CheckBoxList ID="cat_comp" runat="server" CssClass="DisplayNone"
<style>
.DisplayNone { display: none; }
</style>
我在 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# 以自动 select 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 的情况下传递这些值?
每当您设置 ASP.NET 服务器控件的 Visible
属性 时,不会呈现该特定控件,因此您将无法计算该值。
您可以改为设置 display:none
样式(或添加 class)以便隐藏控件,但您可以进行计算,如下所示:-
<asp:CheckBoxList ID="cat_comp" runat="server" CssClass="DisplayNone"
<style>
.DisplayNone { display: none; }
</style>