这是我Page_Load
的代码:
string _group_array = Group_Array.Get_Group_Array(3);
string[] groups = new string[] { _group_array };
foreach (string group in groups)
{
GridView grdv = new GridView();
grdv.DataSource = Connections.isp_GET_GRIDVIEW_DATA("STDNG", group, "", "");
grdv.DataBind();
gridview_holder.Controls.Add(grdv);
}
这是我Group_Array
班的代码:
public static String Get_Group_Array(int count)
{
string _cs_group_array = "";
if(count == 1)
{
_cs_group_array = "A";
}
else if(count == 2)
{
_cs_group_array = "A, B";
}
else if (count == 3)
{
_cs_group_array = "A, B, C";
}
return _cs_group_array;
}
我的问题是,当我的点数大于1时,我的groups
不起作用。关于为什么的任何想法?
答案 0 :(得分:1)
问题1:您没有使用逗号作为分隔符分隔组字符串_group_array
。
解决方案1:您需要使用逗号作为分隔符拆分组字符串_group_array
。
注意:您可以使用Split()
函数拆分字符串。
替换它:
string[] groups = new string[] { _group_array };
有了这个:
string[] groups = _group_array.Split(',');
问题2:字符串之间有空格。
解决方案2:您需要删除字符串之间的空格。
替换它:
else if(count == 2)
{
_cs_group_array = "A, B";
}
else if (count == 3)
{
_cs_group_array = "A, B, C";
}
有了这个:
else if(count == 2)
{
_cs_group_array = "A,B";
}
else if (count == 3)
{
_cs_group_array = "A,B,C";
}
完整代码:
string _group_array = Group_Array.Get_Group_Array(3);
string[] groups = _group_array.Split(',');
foreach (string group in groups)
{
GridView grdv = new GridView();
grdv.DataSource = Connections.isp_GET_GRIDVIEW_DATA("STDNG", group, "", "");
grdv.DataBind();
gridview_holder.Controls.Add(grdv);
}
public static String Get_Group_Array(int count)
{
string _cs_group_array = "";
if(count == 1)
{
_cs_group_array = "A";
}
else if(count == 2)
{
_cs_group_array = "A,B";
}
else if (count == 3)
{
_cs_group_array = "A,B,C";
}
return _cs_group_array;
}
答案 1 :(得分:1)
我将建议我认为更清洁的方法:
string[] groups = new [] { "A", "B", "C" }.Take(count);
答案 2 :(得分:0)
你的Get_Group_Array
方法总是返回一个字符串,而不是字符串数组。这就是你的foreach只执行一次的原因,因为你的groups
数组只有一个元素。根据您的代码,您可以更改您的方法:
public static string[] Get_Group_Array(int count)
{
string _cs_group_array = "";
if(count == 1)
{
_cs_group_array = "A";
}
else if(count == 2)
{
_cs_group_array = "A, B";
}
else if (count == 3)
{
_cs_group_array = "A, B, C";
}
return _cs_group_array.Split(',');
}
然后叫它:
string[] groups = Group_Array.Get_Group_Array(3);
如果你想让它变得更好:
public static string[] Get_Group_Array(int count)
{
string[] chars = new string[count];
for (int i = 0; i < count; i++)
{
chars[i] = ((char) i + 65).ToString();
}
return chars;
}