莆仙生活网
当前位置: 莆仙生活网 > 知识库 >

dropdownlist取值

时间:2024-05-09 04:35:36 编辑:莆仙君

嵌套在Repeater里DropDownList怎么把选中的值保存下来

如果是想获取选中值一楼的方法就可以,如果是想重新绑定时保存原来的值,可以在绑定前先将所有选中值保存在全局集合或哈希表中,然后重写页面的PreRender事件处理方法,在里面将之前保存的选中值重新设置给DropDownList,主要的代码如下://重新绑定数据源的按钮事件 protected void btn_Click(object sender, EventArgs e) { foreach (RepeaterItem item in rpt.Items) { DropDownList ddl = item.FindControl("ddl") as DropDownList; if (ddl != null) { lt.Add(ddl.SelectedItem.Value); } } rpt.DataSource = new UserInfo().GetOutColor(); rpt.DataBind(); } //存储选中值的全局集合 List lt = new List(); //根据选中值设置Dropdownlist选择项 private void SelectItem( DropDownList ddl,string value) { ddl.SelectedIndex = ddl.Items.IndexOf(ddl.Items.FindByValue(value)); } //页面PreRender事件处理方法 protected override void OnPreRender(EventArgs e) { int count = Math.Min(rpt.Items.Count, lt.Count); for (int i = 0; i < count; i++) { DropDownList ddl = rpt.Items[i].FindControl("ddl") as DropDownList; SelectItem(ddl, lt[i]); } base.OnPreRender(e); }关于PreRender事件,你如果不懂可以去网上搜资料看下


Repeater中DropDownList 选择的值如何获取

方法如下。下面直接举个例子:<asp:Repeater ID="ArticleList" runat="server" onitemdatabound="setSelectList"<HeaderTemplate<table width="100%" border="0" cellspacing="0" cellpadding="0"<tr<td width="40" align="center" bgcolor="#CBDAF8"ID</td</tr</HeaderTemplate<ItemTemplate<tr onMouseOver ="this.style.backgroundColor='#ffffff'" onMouseOut ="this.style.backgroundColor=''"<td align="center"<asp:DropDownList ID="taxis" runat="server" autopostback="true" OnSelectedIndexChanged="taxis_SelectedIndexChanged"</asp:DropDownList</td</tr</ItemTemplate<FooterTemplate</table</FooterTemplate</asp:Repeater如上代码中,Repeater中DropDownList值如果获得呢.方法如下:protected void taxis_SelectedIndexChanged(object sender, EventArgs e){string cid = Request.QueryString["cid"];string key = Request["keyword"];if (cid == null){cid = "0";}if (key == null){ key = ""; }DropDownList drop = sender as DropDownList;//这是定义对象string strCountry = drop.SelectedValue;//这是获得值


ASP.NET的dropdownlist脚本问题

我现在没有测试平台,写了也会有问题的,我给你说一下思路吧,希望对你有帮助:
1、dropdownlist希望只列出其中的几项的话,你在后台绑定数据源查询时用select top ……语句,例如希望列出5项的话,就用select top 5 ……,我想这个你肯定明白。
2、绑定数据源就会只显示5个选项了,接着有代码添入第6项:,并设置鼠标事件重新查询全部并绑定(可以单独写个方法)。
注意:这里两次查询会对服务器增加负担,程序执行时间也会延长。你还可以考虑另一种方式:都查询出来存储到dateset里,初始只添入前5行,用dropdownlist的add方法;第二次时数据源查询全绑定,其实两种方法思想差不多。
3、要想整个过程不刷新页面的话,就要用到AJAX技术。添加一个UpdatePane控件,把你的dropdownlist控件放到里面,再在页面里添加一个ScriptManager控件。
我想到的大体思路就这样了,希望能帮到你吧!


ASP.NET中的DropDownList控件的使用??

使用 DropDownList Web 服务器控件,用户可以从单项选择下拉列表框中进行选择。DropDownList 控件与 ListBox Web 服务器控件类似。不同之处在于它只在框中显示选定项,同时还显示下拉按钮。当用户单击此按钮时,将显示项的列表。
修改 DropDownList 控件的外观
可以通过以像素为单位设置 DropDownList 控件的高度和宽度来控制其外观。部分浏览器不支持以像素为单位设置高度和宽度,这些浏览器将使用行计数设置。

您无法指定用户单击下拉按钮时列表中显示的项数。所显示列表的长度由浏览器确定。

与其他 Web 服务器控件一样,您可以使用样式对象来指定 DropDownList 控件的外观。有关详细信息,请参见 ASP.NET Server Controls and CSS Styles。

列表项
DropDownList 控件实际上是列表项的容器,这些列表项都属于 ListItem 类型。每一 ListItem 对象都是带有自己的属性的单独对象。下表说明了这些属性。

属性 说明
Text
指定在列表中显示的文本。

Value
包含与某个项相关联的值。设置此属性可使您将该值与特定的项关联而不显示该值。例如,您可以将 Text 属性设置为美国某个州的名称,而将 Value 属性设置为该州的邮政区名缩写。

Selected
通过一个布尔值指示是否选择了该项。


若要以编程方式处理列表项,请使用 DropDownList 控件的 Items 集合。Items 集合是一个标准集合,您可以向它添加项对象,也可以从中删除项或清除集合等。

当前所选项可在 DropDownList 控件的 SelectedItem 属性中得到。

将数据绑定到控件
可以使用 DropDownList Web 服务器控件列出使用数据源控件的页可使用的选项。DropDownList 控件中的每一项分别对应数据源中的一项(通常是一行)。

控件显示来自数据源的一个字段。您也可以将控件绑定到第二个字段,以设置一项的值(该值并不显示)。

与其他 Web 服务器控件一样,您可以将任何控件属性(如控件的颜色或大小)绑定到数据。有关详细信息,请参见如何:从数据源填充 List Web 服务器控件。

DropDownList 事件
当用户选择一项时,DropDownList 控件将引发一个事件(SelectedIndexChanged 事件)。默认情况下,此事件不会导致将页发送到服务器,但可以通过将 AutoPostBack 属性设置为 true 使此控件强制立即发送。

注意
若要在选中 DropDownList 控件时将其发送到服务器,浏览器必须支持 ECMAScript(JScript、JavaScript),并且用户的浏览器要启用脚本撰写。


asp.net中,怎样把dropdownlist中的值存储到sql数据库中?

我觉得这个问题是你没有问明白还是我们就是没有理解明白,按照我们理解的意思就是这样:
例如你里面显示的是学生的姓名,但是同时还有Id,那么你可以这样的:
insert into student(Id,name) values('" + DropDownList1.SelectedValue.ToString() + "',DropDownList1.text)
SqlCommand cmd = new SqlCommand(strsql, conn);
int ok = cmd.ExecuteNonQuery();
我觉得这样就可以了啊


怎么获得DropDownList中选中的值

1、点击“开始”—“Visual Studio 2015”,启动 Visual Studio 2015。2、点击新建项目,新建一个控制台应用程序项目。3、DropDownList包含在System.Collections.Generic名空间中,在使用前请务必确认已引用这个命名空间。4、创建一个Dictionary对象,并声明它的键类型和值类型,如以 key 的类型为 int , value的类型为string来创建一个名为testDic的Dictionary对象。5、使用ADD方法,向testDic对象中添加一系列元素。6、点击Visual Studio 2015工具栏的“启动”,看看效果。

dropdownlist控件使用问题。

你可以把isRunNian设为全局的变量啊,写到这两个事件函数的外面。private boolean isRunNian = false; //移到到外面来protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) { int year = (int)(Convert.ToInt32(DropDownList1.SelectedItem.Value.ToString())); if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) isRunNian = true; } protected void DropDownList2_SelectedIndexChanged(object sender, EventArgs e) { int daysOfMonth; int month = (int)(Convert.ToInt32(DropDownList2.SelectedItem.Value.ToString())); ; if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month ==12) daysOfMonth = 31; else if (month == 2) { if(isRunNian) //这里判断 daysOfMonth = 29; } }希望能帮到你 : )

用dropdownlist做3个下拉框(年,月,日)

把DropDownList3_SelectedIndexChanged替换成下面的试试,你自己可以优化或者修改一下,我增加了一个函数,供调用,自认为比你的想法要好一点,呵呵

protected void DropDownList3_SelectedIndexChanged(object sender, EventArgs e)
{
string[] month1 = new string[] { "4", "6", "9", "11" };
string month2 = "2";

DownList4(31);
foreach (string s in month1)
{
if (DropDownList3.SelectedItem.Value == s)
DownList4(30);
break;
}
if (DropDownList3.Text == month2 && Convert.ToInt32(DropDownList2.Text) % 4 != 0)
DownList4(29);
if (DropDownList3.Text == month2 && Convert.ToInt32(DropDownList2.Text) % 4 == 0)
{
DownList4(28);
}

}
protected void DownList4(int day)
{
DropDownList4.Items.Clear();
for (int i = 1; i <= day; i++)
{
DropDownList4.Items.Add(new ListItem(i.ToString()));
}

}


DROPDOWNLIST中取值问题(急)

关于这个,我用c#解决了两个问题:
1、下拉框是固定的值,修改时要将添加时选的值读出来并选中,比如用户注册时的省份
2、下拉框是动态读取的,修改时要选中添加时的选项,如修改产品时,类别是动态读取的,要选中添加产品的那个类别

OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0;Data Source=" + Server.MapPath(@"..\App_Data\Product.mdb"));
try
{ //根据传来的产品pid到产品表中表查询产品,并读出来

if (Request.QueryString["pid"] != null)
{
Session["pid2"] = Request.QueryString["pid"].ToString();
}
else
{
Response.Write("参数错误!");
Response.End();
}


//Session["pid2"] = Convert.ToString(Request.QueryString["pid"].Trim());
OleDbConnection conn = dbconn.createProductConnectionInAdmin();
conn.Open();
OleDbCommand cmdr = new OleDbCommand("select * from Product where pid='" + Convert.ToString(Session["pid2"])+"'", conn);
OleDbDataReader rs = cmdr.ExecuteReader();
if (rs.Read())
{

if (rs["pdiscount"].ToString() !="0")//折扣一般是固定的
{
this.pdiscount1.SelectedValue = rs["pdiscount"].ToString(); //固定值时下拉菜单默认选中添加时选中的情况
}
else
{
this.pdiscount1.SelectedValue = "不打折";
}

}
//动态的值时下拉菜单默认选中添加时选中的情况
//读取所有类别,并显示原来所选类别
OleDbDataAdapter d = new OleDbDataAdapter();
d.SelectCommand = new OleDbCommand("select typename from ProductType where typename'请选择'", conn);
DataSet rst = new DataSet();
d.Fill(rst,"ProductType");
this.typename1.DataTextField = "typename";
this.typename1.DataValueField = "typename";
this.typename1.DataSource = rst.Tables["ProductType"];
this.typename1.DataBind();
this.typename1.SelectedValue = Session["typenameok"].ToString();





conn.Close();

}
catch
{
Response.Write("参数错误!");
Response.End();
}

代码贴不上来,奇怪,发信息给我吧


怎么取得dropdownlist选中的ID值

string a = dropdownlist.SelectedText;//获取选中的textstring b = dropdownlist.SelectedValue; //获取选中的valueint c = dropdownlist.SelectedIndex; //获取选中的索引如果你的dropdownlist.datasource是在pageload里面绑定的话很有可能是由于不断的初始化(不断的执行dropdownlist.datasource)导致每回都取道的默认值一般用ispostback来回避这种情况