Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 如何将arraylist传递给switch语句_Asp.net_Viewstate_Switch Statement - Fatal编程技术网

Asp.net 如何将arraylist传递给switch语句

Asp.net 如何将arraylist传递给switch语句,asp.net,viewstate,switch-statement,Asp.net,Viewstate,Switch Statement,我想传递arraylist to switch语句,下面是代码: protected void CheckBoxList1_SelectedIndexChanged(object sender, EventArgs e) { ArrayList myList = new ArrayList(); foreach (ListItem listitem in CheckBoxList1.Items) { if (listitem.Selected)

我想传递arraylist to switch语句,下面是代码:

 protected void CheckBoxList1_SelectedIndexChanged(object sender, EventArgs e)
{

     ArrayList myList = new ArrayList();
    foreach (ListItem listitem in CheckBoxList1.Items)
    {
        if (listitem.Selected)
            myList.Add(listitem.Value);

    }

    ViewState["myList"] = myList;

    CurrentPage = 0;
    BindGrid();


}
 private void BindGrid()
{

    DataTable dt = null;

    switch (ViewState["myList"]) //gives an error
    { case myList[1]:  dt = caravans.GetSelectedFilter(myList); break;
    default:  dt = caravans.GetAllCaravans(); break;

    pds.DataSource = dt.DefaultView;
    pds.AllowPaging = true;
    pds.PageSize = 12;//add the page index when item exceeds 12     //Convert.ToInt16(ddlPageSize.SelectedValue);
    pds.CurrentPageIndex = CurrentPage;
    DataList1.RepeatColumns = 4; // 4 items per line
    DataList1.RepeatDirection = RepeatDirection.Horizontal;

    DataList1.DataSource = pds;
    DataList1.DataBind();

 //   lnkbtnNext.Enabled = !pds.IsLastPage;
    ImageButton2.Enabled = !pds.IsLastPage;
   // lnkbtnPrevious.Enabled = !pds.IsFirstPage;

    doPaging();

}
从MSDN:

switch语句的控制类型由switch表达式建立。如果switch表达式的类型是sbyte、byte、short、ushort、int、uint、long、ulong、char、string或枚举类型,则这是switch语句的控制类型。否则,必须存在一个用户定义的隐式转换(第6.4节),从开关表达式的类型转换为以下可能的控制类型之一:sbyte、byte、short、ushort、int、uint、long、ulong、char、string如果不存在此类隐式转换,或者存在多个此类隐式转换,则会发生编译时错误。


是否有其他方法可以实现此目的尝试使用if,else if语句我可以通过ViewState传递arraylist吗是的,您可以使用Add方法在ViewState中保存arraylist:ViewState.Add(“arraylist Key”,arraylist);