您的位置:首页 > 编程语言 > ASP

asp.net中ListBox控件经典实例(反向遍历)

2014-11-29 10:43 405 查看








.aspx代码如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ListBox控件.aspx.cs" Inherits="ListBox控件" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <p2>ListBox控件练习:<br />
        </p2>
         <asp:ListBox 
            ID="ListBox1" runat="server" Height="76px" SelectionMode="Multiple" 
            style="margin-right: 17px" Width="88px" >
            <asp:ListItem>1</asp:ListItem>
            <asp:ListItem>2</asp:ListItem>
            <asp:ListItem>3</asp:ListItem>
            <asp:ListItem>4</asp:ListItem>
            <asp:ListItem>5</asp:ListItem>
            <asp:ListItem>6</asp:ListItem>
            <asp:ListItem>7</asp:ListItem>
            <asp:ListItem>8</asp:ListItem>
            <asp:ListItem>9</asp:ListItem>
        </asp:ListBox>

        <asp:Button ID="Button1" runat="server" Text="选择" onclick="Button1_Click" />
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>

        <br />
        点菜程序<br />
        <asp:ListBox ID="ListBox2" runat="server" Height="184px" 
            SelectionMode="Multiple" style="margin-right: 17px" Width="131px" >
            <asp:ListItem>鱼香茄子</asp:ListItem>
            <asp:ListItem>辣子鸡</asp:ListItem>
            <asp:ListItem>酸菜鱼</asp:ListItem>
            <asp:ListItem>酸辣土豆丝</asp:ListItem>
            <asp:ListItem>麻婆豆腐</asp:ListItem>
            <asp:ListItem>蜀山烤鱼</asp:ListItem>
            <asp:ListItem>宫保鸡丁</asp:ListItem>
            <asp:ListItem>土豆牛腩</asp:ListItem>
            <asp:ListItem>红烧肉</asp:ListItem>
        </asp:ListBox>

        <asp:Button ID="Button3" runat="server" Text="选择" onclick="Button3_Click" />

        <asp:Button ID="Button2" runat="server" Text="移除" onclick="Button2_Click" />
        <asp:ListBox ID="ListBox3" runat="server" Height="184px" 
            SelectionMode="Multiple" style="margin-right: 17px" Width="131px" >
        </asp:ListBox>

    </div>
    </form>
</body>
</html>



.aspx.cs代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class ListBox控件 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        TextBox1.Text = "";
        // for (int i = 0; i < ListBox1.Items.Count; i++) {
        // if (ListBox1.Items[i].Selected) { TextBox1.Text += ListBox1.Items[i].Text+","; }
        // }
        foreach (ListItem _li in ListBox1.Items)
        {
            if (_li.Selected) { TextBox1.Text += _li.Text; }
        }
    }
    protected void Button3_Click(object sender, EventArgs e)//为什么要用反向遍历,要注意!!!!!!
    {
        for (int i = ListBox2.Items.Count - 1; i >= 0; i--)
        {

            if (ListBox2.Items[i].Selected)
            {
                ListBox3.Items.Add(ListBox2.Items[i]);
                ListBox2.Items.Remove(ListBox2.Items[i]);

            }
        }
    }
    protected void Button2_Click(object sender, EventArgs e)
    {
        for (int i = ListBox3.Items.Count - 1; i >= 0; i--)
        {

            if (ListBox3.Items[i].Selected)
            {
                ListBox2.Items.Add(ListBox3.Items[i]);//添加功能
                ListBox3.Items.Remove(ListBox3.Items[i]);//移除功能

            }
        }
    }
}


效果如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: