Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.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
C# 列表项不存在';t删除_C#_Asp.net_Listbox - Fatal编程技术网

C# 列表项不存在';t删除

C# 列表项不存在';t删除,c#,asp.net,listbox,C#,Asp.net,Listbox,我有两个按钮和一个列表框。当我单击第1个按钮时,它应该从列表框中删除所选项目,但它没有-列表框保持不变。代码有什么问题 static List<string> Blist = new List<string>(); public int x; protected void Page_Load(object sender, EventArgs e) { Blist = (List<string>)Session["items"]; if (Bl

我有两个按钮和一个
列表框
。当我单击第1个按钮时,它应该从
列表框
中删除所选项目,但它没有-列表框保持不变。代码有什么问题

static List<string> Blist = new List<string>();
public int x;
protected void Page_Load(object sender, EventArgs e)
{
    Blist = (List<string>)Session["items"];

    if (Blist != null)
    {
        ListBox1.Items.Clear();
        for (int i = 0; i < Blist.Count; i++)
            ListBox1.Items.Add(Blist[i]);
    }
}

protected void Button1_Click(object sender, EventArgs e)
{
    x= ListBox1.SelectedIndex;

    if (x >= 0)
    {
        ListBox1.Items.RemoveAt(x);
        string m = Blist[x];
        Blist.Remove(m);

        Session["items"] = null;
        Session["items"] = Blist;
    }
}

protected void Button2_Click(object sender, EventArgs e)
{
    Session["items"] = null;
}
static List Blist=new List();
公共int x;
受保护的无效页面加载(对象发送方、事件参数e)
{
Blist=(列表)会话[“项”];
如果(Blist!=null)
{
ListBox1.Items.Clear();
for(int i=0;i=0)
{
列表框1.Items.RemoveAt(x);
字符串m=Blist[x];
Blist.Remove(m);
会话[“项”]=null;
会话[“项目”]=Blist;
}
}
受保护的无效按钮2\u单击(对象发送者,事件参数e)
{
会话[“项”]=null;
}
当页面发回时(单击按钮时),页面加载处理程序将再次启动。当它这样做时,它会重新填充您的列表。为了防止这种情况,您需要检查它是一个页面回发,还是初始加载。您可以通过检查
Page.IsPostBack
是否为真来执行此操作。如果为真,则表示页面正在被发回(通过单击按钮或其他方式)。如果它不是真的,则表示它是页面的初始加载

protected void Page_Load(object sender, EventArgs e)
{
      Blist = (List<string>)Session["items"];

      if (!Page.IsPostBack)
      {

         if (Blist != null)
         {
             ListBox1.Items.Clear();
             for (int i = 0; i < Blist.Count; i++)
                 ListBox1.Items.Add(Blist[i]);
         }
     }
 }
受保护的无效页面加载(对象发送方,事件参数e)
{
Blist=(列表)会话[“项”];
如果(!Page.IsPostBack)
{
如果(Blist!=null)
{
ListBox1.Items.Clear();
for(int i=0;i
当页面发回时(单击按钮时),页面加载处理程序将再次启动。当它这样做时,它会重新填充您的列表。为了防止这种情况,您需要检查它是一个页面回发,还是初始加载。您可以通过检查
Page.IsPostBack
是否为真来执行此操作。如果为真,则表示页面正在被发回(通过单击按钮或其他方式)。如果它不是真的,则表示它是页面的初始加载

protected void Page_Load(object sender, EventArgs e)
{
      Blist = (List<string>)Session["items"];

      if (!Page.IsPostBack)
      {

         if (Blist != null)
         {
             ListBox1.Items.Clear();
             for (int i = 0; i < Blist.Count; i++)
                 ListBox1.Items.Add(Blist[i]);
         }
     }
 }
受保护的无效页面加载(对象发送方,事件参数e)
{
Blist=(列表)会话[“项”];
如果(!Page.IsPostBack)
{
如果(Blist!=null)
{
ListBox1.Items.Clear();
for(int i=0;i
@Charles出于完全相同的原因,另一个提出相同建议的答案被否决,并在该答案的评论中进行了解释。考虑到史蒂夫也在读这篇文章,我认为没有必要在这里重新发布它们。哈哈。。。我写下这个答案,我得到-1,你写它+3+非常感谢你,我很乐意帮助我(:@AseelNasser你给我正确的答案,然后把它拿走,交给回答不正确的人?哈哈…@Charles因为同样的原因,同样建议的另一个答案被否决了,并且在答案的评论中有解释。考虑到Steve正在读这篇文章,我不认为有必要在这里重新发布它们还有。哈哈…我写了这个答案,我得到了-1,你写了它和+3。非常感谢你,我回来帮我很多(:@aselnasser你给我正确的答案,然后把它拿走,交给回答不正确的人?哈哈。。。。