主要介绍:自定义数据、绑定数据库数据

前台代码:

 <div>
<asp:ListBox ID="ListBox1" runat="server" Rows ="" Width ="100px">
<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:ListItem></asp:ListItem>
</asp:ListBox><br /><br />
<asp:Button ID="Button1" runat="server" Text="Button" OnClick ="Button1_Click"/><br /><br />
<asp:Label ID="Label1" runat="server" Text=""></asp:Label>
</div>

*其中的

Rows:设置该属性以指定一次显示多少项。

Width:宽度。

Height:高度。

SelectionMode ="Multiple":可以选中多个。

SelectionMode ="Single":只能选一个。

其余属性,参见MSDN。

后台代码:

 /// <summary>
/// Button1按钮的单击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Button1_Click(object sender, EventArgs e)
{
string s = string.Empty; s = ListBox1.SelectedItem.Text; this.Label1.Text = "您点选的是:" + s;
}

最终效果:

ListBox控件-LMLPHP

以上是自定义数据的ListBox控件。

--------------------------------------------------------------------

下面是绑定数据库数据的ListBox控件:

一:

首先,先在数据库中建立一张表:

 CREATE TABLE KK
(
id INT,
[name] VARCHAR(20),
)

然后插入数据:

 INSERT INTO KK (id, [name]) VALUES (1, '张三')
INSERT INTO KK (id, [name]) VALUES (2, '李四')
INSERT INTO KK (id, [name]) VALUES (3, '王五')
INSERT INTO KK (id, [name]) VALUES (4, '赵六')
·
·
·
·
·

这是最终建立的表:

ListBox控件-LMLPHP

二:

然后是前台代码(其中可以设置SelectionMode为多选):

 <div>
<asp:ListBox ID="ListBox1" runat="server" Rows ="5" Width ="100px" ></asp:ListBox><br /><br />
<asp:Button ID="Button1" runat="server" Text="Button" OnClick ="Button1_Click"/><br /><br />
<asp:Label ID="Label1" runat="server" Text=""></asp:Label>
</div>

然后是后台代码:

web.config中数据库连接字符串:

   <connectionStrings>
<add name="connectionString" connectionString="data source = (local); database = TEMP; integrated security = true"/>
</connectionStrings>

后台Page_Load中的代码:

 protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
/* 为什么判断IsPostBack:当你需要执行一些仅需要在页面第一次浏览时执行的事件
* 比如页面初始化,数据绑定之类的操作时,需要将操作放在if(!IspostBack)里面,
* 这样当你在点击页面中的按钮或者执行其他回发事件时,不贵再次初搜索始化或者
* 重复绑定数据,提高了执行效率。
*/
{
string connectionString = ConfigurationManager.ConnectionStrings["connectionString"].ConnectionString; SqlConnection connection = new SqlConnection(connectionString); connection.Open(); string sql = "SELECT * FROM KK"; SqlCommand cmd = new SqlCommand(sql, connection); SqlDataReader sdr = cmd.ExecuteReader(); //任意给的字段名,只要是想显示在界面上的就行。其值给了:Text
this.ListBox1.DataTextField = "name"; //任意给得字段名,只要是想在后台看到前台看不到的数据就行。其值给了:Value
this.ListBox1.DataValueField = "id";//此字段可以去掉。value的值默认为Text的值。 this.ListBox1.DataSource = sdr; this.ListBox1.DataBind(); sdr.Close(); connection.Close();
}
}

其中,检查网页是否会发很重要。if (!IsPostBack)。如果没有这个,将无法使用。

后台之中Button1(结果)按钮:

 /// <summary>
/// Button1按钮的单击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Button1_Click(object sender, EventArgs e)
{
string s = string.Empty; for (int i = ; i < ListBox1.Items.Count; i++)
{
if (ListBox1.Items[i].Selected)
{
s += ListBox1.Items[i].Text + " ";
}
} this.Label1.Text = "您点选的是:" + s;
}

最终效果:

ListBox控件-LMLPHP

05-08 08:17