请编程高手来帮帮小弟!关于asp.net中的dropdownlist控件的问题
我用asp.net(C#)来做网站!请问一下,我用dropdownlist控件,在下拉滚动条后出现了几个可以选择的项,是:食品,文具和日用品,请问大家,我要是选一个后,怎...
我用asp.net(C#)来做网站!请问一下,我用dropdownlist控件,在下拉滚动条后出现了几个可以选择的项,是:食品,文具和日用品,请问大家,我要是选一个后,怎么才能实现链接呢
我想问具体语句怎么写啊?? 展开
我想问具体语句怎么写啊?? 展开
2个回答
展开全部
你问的问题不是很详细啊,我只能照我理解的给你回答:
假如你是想在选中下拉菜单(DropDownList)某项之后链接到某个网页,比如说选中食品,链接到食品页面。
鼠标左键点击选中你的那个DropDownList控件的对象(我这里假设为ddlThing),在右侧属性栏,将它的属性AutoPostBack改为Ture。
双击你的那个DropDownList控件对象(我这里为ddlThing),进入编程界面,
这时直接进入这个函数中:
private void ddlDep_SelectedIndexChanged(object sender, System.EventArgs e)
{
..................//这个事件的作用是当下拉菜单选中项发生变化时,回
//发给服务器,引起变化,(你在这里要实现的
//是链接到其他网页)
//理解前面把AutoPostBack属性改为Ture,就是
//为了在这里用到,详细说明请参考其他一些
//.net书籍
}
所以你只需要在................中的部分添加上合适的代码,实现你需要功能的代码就可以了
你给的问题不是很详细,比如说,食品,文具和日用品是以什么形式添加到DropDownList控件中的,我这里就抛开绑定数据库添加的那种形式,加入你是以数据集Itmes加入的。
鼠标左键点击选中你的那个DropDownList控件的对象(我这里假设为ddlThing),在右侧属性栏,点击Items属性:(collections)后的...,会弹出ListItem编辑器窗口,在该窗口左侧成员表中观察一下,我所做的例子成员表为
0 食品
1 文具
2 日用品
注意前面的数字为0,1,2 对应的应该是ddlThing的SelectedIndex属性。
private void ddlThing_SelectedIndexChanged(object sender, System.EventArgs e)
{
if(this.ddlThing.SelectedIndex=0)
{ ...........//选中食品时引起的变化语句
}
if(this.ddlThing.SelectedIndex=1)
{...........//选中文具时引起的变化语句
}
if(this.ddlThing.SelectedIndex=2)
{...........//选中日用品时引起的变化语句
}//注上面的语句吧不一定是最优的,只是给你个实例
//你在实现是建议根据具体例子,用更好流程控制实现
}
还有就是,如果你是以数据绑定,即你的DropDownList中的项来自数据库,还可以SelectedValue属性实现。
为此,你要多看看书上是怎么介绍:SelectedIndex
SelectedValue
SelectedItem
这几个属性的,相信一定会对你有所帮助。
假如你是想在选中下拉菜单(DropDownList)某项之后链接到某个网页,比如说选中食品,链接到食品页面。
鼠标左键点击选中你的那个DropDownList控件的对象(我这里假设为ddlThing),在右侧属性栏,将它的属性AutoPostBack改为Ture。
双击你的那个DropDownList控件对象(我这里为ddlThing),进入编程界面,
这时直接进入这个函数中:
private void ddlDep_SelectedIndexChanged(object sender, System.EventArgs e)
{
..................//这个事件的作用是当下拉菜单选中项发生变化时,回
//发给服务器,引起变化,(你在这里要实现的
//是链接到其他网页)
//理解前面把AutoPostBack属性改为Ture,就是
//为了在这里用到,详细说明请参考其他一些
//.net书籍
}
所以你只需要在................中的部分添加上合适的代码,实现你需要功能的代码就可以了
你给的问题不是很详细,比如说,食品,文具和日用品是以什么形式添加到DropDownList控件中的,我这里就抛开绑定数据库添加的那种形式,加入你是以数据集Itmes加入的。
鼠标左键点击选中你的那个DropDownList控件的对象(我这里假设为ddlThing),在右侧属性栏,点击Items属性:(collections)后的...,会弹出ListItem编辑器窗口,在该窗口左侧成员表中观察一下,我所做的例子成员表为
0 食品
1 文具
2 日用品
注意前面的数字为0,1,2 对应的应该是ddlThing的SelectedIndex属性。
private void ddlThing_SelectedIndexChanged(object sender, System.EventArgs e)
{
if(this.ddlThing.SelectedIndex=0)
{ ...........//选中食品时引起的变化语句
}
if(this.ddlThing.SelectedIndex=1)
{...........//选中文具时引起的变化语句
}
if(this.ddlThing.SelectedIndex=2)
{...........//选中日用品时引起的变化语句
}//注上面的语句吧不一定是最优的,只是给你个实例
//你在实现是建议根据具体例子,用更好流程控制实现
}
还有就是,如果你是以数据绑定,即你的DropDownList中的项来自数据库,还可以SelectedValue属性实现。
为此,你要多看看书上是怎么介绍:SelectedIndex
SelectedValue
SelectedItem
这几个属性的,相信一定会对你有所帮助。
展开全部
AutoPostBack属性设置为True
<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
<html>
<script runat="server" >
void Selection_Change(Object sender, EventArgs e)
{
// Set the background color for days in the Calendar control
// based on the value selected by the user from the
// DropDownList control.
Calendar1.DayStyle.BackColor =
System.Drawing.Color.FromName(ColorList.SelectedItem.Value);
}
void Page_Load(Object sender, EventArgs e)
{
// Load data for the DropDownList control only once, when the
// page is first loaded.
if(!IsPostBack)
{
// Specify the data source and field names for the Text
// and Value properties of the items (ListItem objects)
// in the DropDownList control.
ColorList.DataSource = CreateDataSource();
ColorList.DataTextField = "ColorTextField";
ColorList.DataValueField = "ColorValueField";
// Bind the data to the control.
ColorList.DataBind();
// Set the default selected item, if desired.
ColorList.SelectedIndex = 0;
}
}
ICollection CreateDataSource()
{
// Create a table to store data for the DropDownList control.
DataTable dt = new DataTable();
// Define the columns of the table.
dt.Columns.Add(new DataColumn("ColorTextField", typeof(String)));
dt.Columns.Add(new DataColumn("ColorValueField", typeof(String)));
// Populate the table with sample values.
dt.Rows.Add(CreateRow("White", "White", dt));
dt.Rows.Add(CreateRow("Silver", "Silver", dt));
dt.Rows.Add(CreateRow("Dark Gray", "DarkGray", dt));
dt.Rows.Add(CreateRow("Khaki", "Khaki", dt));
dt.Rows.Add(CreateRow("Dark Khaki", "DarkKhaki", dt));
// Create a DataView from the DataTable to act as the data source
// for the DropDownList control.
DataView dv = new DataView(dt);
return dv;
}
DataRow CreateRow(String Text, String Value, DataTable dt)
{
// Create a DataRow using the DataTable defined in the
// CreateDataSource method.
DataRow dr = dt.NewRow();
// This DataRow contains the ColorTextField and ColorValueField
// fields, as defined in the CreateDataSource method. Set the
// fields with the appropriate value. Remember that column 0
// is defined as ColorTextField, and column 1 is defined as
// ColorValueField.
dr[0] = Text;
dr[1] = Value;
return dr;
}
</script>
<body>
<form runat="server">
<h3> DropDownList Data Binding Example </h3>
Select a background color for days in the calendar.
<br><br>
<asp:Calendar id="Calendar1"
ShowGridLines="True"
ShowTitle="True"
runat="server"/>
<br><br>
<table cellpadding="5">
<tr>
<td>
Background color:
</td>
</tr>
<tr>
<td>
<asp:DropDownList id="ColorList"
AutoPostBack="True"
OnSelectedIndexChanged="Selection_Change"
runat="server"/>
</td>
</tr>
</form>
</body>
</html>
<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
<html>
<script runat="server" >
void Selection_Change(Object sender, EventArgs e)
{
// Set the background color for days in the Calendar control
// based on the value selected by the user from the
// DropDownList control.
Calendar1.DayStyle.BackColor =
System.Drawing.Color.FromName(ColorList.SelectedItem.Value);
}
void Page_Load(Object sender, EventArgs e)
{
// Load data for the DropDownList control only once, when the
// page is first loaded.
if(!IsPostBack)
{
// Specify the data source and field names for the Text
// and Value properties of the items (ListItem objects)
// in the DropDownList control.
ColorList.DataSource = CreateDataSource();
ColorList.DataTextField = "ColorTextField";
ColorList.DataValueField = "ColorValueField";
// Bind the data to the control.
ColorList.DataBind();
// Set the default selected item, if desired.
ColorList.SelectedIndex = 0;
}
}
ICollection CreateDataSource()
{
// Create a table to store data for the DropDownList control.
DataTable dt = new DataTable();
// Define the columns of the table.
dt.Columns.Add(new DataColumn("ColorTextField", typeof(String)));
dt.Columns.Add(new DataColumn("ColorValueField", typeof(String)));
// Populate the table with sample values.
dt.Rows.Add(CreateRow("White", "White", dt));
dt.Rows.Add(CreateRow("Silver", "Silver", dt));
dt.Rows.Add(CreateRow("Dark Gray", "DarkGray", dt));
dt.Rows.Add(CreateRow("Khaki", "Khaki", dt));
dt.Rows.Add(CreateRow("Dark Khaki", "DarkKhaki", dt));
// Create a DataView from the DataTable to act as the data source
// for the DropDownList control.
DataView dv = new DataView(dt);
return dv;
}
DataRow CreateRow(String Text, String Value, DataTable dt)
{
// Create a DataRow using the DataTable defined in the
// CreateDataSource method.
DataRow dr = dt.NewRow();
// This DataRow contains the ColorTextField and ColorValueField
// fields, as defined in the CreateDataSource method. Set the
// fields with the appropriate value. Remember that column 0
// is defined as ColorTextField, and column 1 is defined as
// ColorValueField.
dr[0] = Text;
dr[1] = Value;
return dr;
}
</script>
<body>
<form runat="server">
<h3> DropDownList Data Binding Example </h3>
Select a background color for days in the calendar.
<br><br>
<asp:Calendar id="Calendar1"
ShowGridLines="True"
ShowTitle="True"
runat="server"/>
<br><br>
<table cellpadding="5">
<tr>
<td>
Background color:
</td>
</tr>
<tr>
<td>
<asp:DropDownList id="ColorList"
AutoPostBack="True"
OnSelectedIndexChanged="Selection_Change"
runat="server"/>
</td>
</tr>
</form>
</body>
</html>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询