dropdownlist绑定数据,MVC中,Html.DropDownListFor怎么绑定数据
dropdownlist绑定数据,MVC中,Html.DropDownListFor怎么绑定数据详细介绍
本文目录一览: asp.net的DropDownlist绑定数据
有先后之分:先绑定ddl_Semester,然后在ddl_Semester的SelectedIndexChanged触发事件里再绑定ddl_Course。ddl_Semester的autoPostbank设置为true(允许自动会发)这才是最重要的。
///////////////////////////
还是错,什么错误提示也没说?
///////////////////////////
Da.Fill(Ds);
this.DDLArr[i].DataSource=Ds;
改成下边这样试试
Da.Fill(Ds,"Book");
this.DDLArr[i].DataSource=Ds.Tables["Book"];
另外补充一下,用了SqlDataAdapter,数据库就不需要显式的打开了,所以conn.Open()去掉吧
写上conn.close()放在最后再试下
那得看是什么样的datasource 了
Sql的是SqldataSource在数据项的工具里
MVC中,Html.DropDownListFor怎么绑定数据
①.在Action中查询要绑定到DropDownListFor的数据,并赋值给ViewBag:
程序代码
public ActionResult Create()
{
ViewBag.Categories = new SelectList(db.Category, "Id", "Name");
return View();
}
②.在View中将数据绑定到DropDownListFor:
程序代码
@Html.DropDownListFor(model => model.CategoryId, ViewBag.Categories as IEnumerable
);
2.DropDownListFor选中指定项
这需要在SelectList构造函数中设置,例如:
程序代码
public ActionResult Create()
{
ViewBag.Categories = new SelectList(db.Category, "Id", "Name", "2");
return View();
}
dropdownlist绑定数据源后怎么设默认值
首先,你说要添加个请选择,可以直接dropdownlist.Items.Add("请选择");嘛
放在try代码前面就可以了
然后就是你说每次都是第一项,因为你的dropdownlist的自动回发属性你没设定,也就是你每次选择了一个,都会执行pageload里面的代码,有两种方法可以改进,第一是把你的这个dropdownlist的自动回发属性改为false,就是在前台他的属性里面,第二也可以再pageload里面所有的代码都放到if
(!IsPostBack){}
里面,这样只有你刷新页面的时候才执行,而选择的时候不会执行了
怎么给DropDownList的数据绑定值前面加一个“请选择”?
简单啊。。。你做一个临时表。。。
然后做一个循环 循环这个表。在你要显示的字段数据前 每一条数据加上“请选择”
foreach(DataRowView Dgv in DataTable)
{
Dgv["你的字段"] = 请选择+Dgv["你的字段"]
}
这样子的思路就好了。。
=请选择首页显示状态=
不显示
显示
效果如图
后台帮你正常的数据就可以了
ddl1.AppendDataBoundItems = true;//绑定时不自动清除列表项
ddl1.Items.Clear();//手工清除
ddl1.Items.Add(new ListItem("(请选择)"));//添加请选择项
string sql = "select ID,ClassName from Class";
ddl1.DataSource = SH.GetDataSet(sql);
ddl1.DataTextField = "ClassName";
ddl1.DataValueField = "ID";
ddl1.DataBind();
string sql = "select ID,ClassName from Class";
ddl1.DataSource = SH.GetDataSet(sql);
ddl1.DataTextField = "ClassName";
ddl1.DataValueField = "ID";
ddl1.DataBind();
ddl1.Items.Insert(0, new ListItem("<-- 请选择 -->", "0"));
这个是对的,
很简单 你就点击右上角的三角符号 点击增加列 名字叫请选择
哎 默认是前面 我想弄到后面还困难呢
参考写法:
/*dropdownlist1 是你前台的ID*/dropdownlist1.DataBind();// 从数据库绑定完之后 把它要选中的text值 赋值一下dropdownlist1.SelectedValue=“请选择”;
运行效果:
DropDownList绑定数据后,选择项始终是第一项,选择别的,输出的还是第一项,求解?
当然了,他相当于刷新到了另一个页面,默认肯定是选择第一个,你应该把 [数据绑定 ] 放在IsPostBack里面才行的
写到LoadComplete这个事件里就好了,Load事件每次画面刷新都会执行。你那个判断条件也是要么每次都有效,要么每次都无效,无意义的判断。
DropDownList,你要为它指定一个selectedindexchanged事件。用于获取它当前选中的值!
还要为它指定自动回发属性,autopostback 属性 = true
设置DropDownList的自动回发属性(AutoPostBack)为 true就OK了
Debug一下。你输出的时候是用DropDownList1.SelectedValue吗?
Repeater中 DropDownList如何绑定数据
for(int i=0;i
<repeater.items.count;i++)
{
DropDownList ddl=(DropDownList)Repeater.Item[i].FindControl("DropDownList的ID");
// DataTable tbl=new DataTable();
// ......
//ddl.DataSource=tbl;
// ddl.DataTextFiled="";
//ddl.DataValueFiled="";
//ddl.DataBind();
//上为DropDownList绑定
//同理,可以把字段"isopen"放进一个Label里边,Label 的设置为不显示
Label lbl=(Label )Repeater.Item[i].FindControl("Label 的ID");
ddl.SelectedValue=lbl.Text;
}
代码手写的
有可能有错误
我就不测试了
Repeater绑定DropDownList<%@ Page Theme="Default" Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="EditIndividualCell.aspx.cs" Inherits="Ajax学习.EditIndividualCell" %>
<asp:textbox id="TextBox1" runat="server" text="" textmode="MultiLine">
'>
<asp:textbox id="TextBox2" runat="server" text="" textmode="MultiLine">
'>
<asp:sqldatasource id="SqlDataSource1" runat="server" connectionstring="" deletecommand="DELETE FROM ML WHERE (SXH = @sxh)" insertcommand="INSERT INTO ML(SXH, TM, XGRQ, IS_SELECTED, YHM) VALUES (@sxh, @tm, @xgrq, @IS_SELECTED)" selectcommand="SELECT TOP (10) SXH, TM, XGRQ, IS_SELECTED, YHM FROM ML" updatecommand="UPDATE ML SET TM = @tm, XGRQ = @xgrq, IS_SELECTED = @IS_SELECTED, YHM = @YHM WHERE (SXH = @sxh)">
<asp:sqldatasource id="sqlds" runat="server" connectionstring="" selectcommand="Select distinct yhm from ml">
</repeater.items.count;i++)
asp.net(C#)的DropDownList控件怎么数据绑定
DataTable df = DBUtility.DbHelperSQL.Query(ff).Tables[0]; //查表tb_Teacher
DataTable dt1 = new DataTable();
dt1.Columns.Add("id");
dt1.Columns.Add("name");
for (int i = 0; i < df.Rows.Count; i++)//遍历所有行,查tb_Classag表中 id=id
{
string sa2 = "select * from tb_Classag where id=" + Convert.ToInt32(df.Rows[i]["id"]);
DataTable ds = DBUtility.DbHelperSQL.Query(sa2).Tables[0];
if (ds.Rows.Count > 0)//如果查到,添加到dt1
{
dt1.Rows.Add(Int32.Parse(ds.Rows[0]["id"].ToString()), ds.Rows[0]["name"]);
}
}
DropDownList3.DataSource = dt1; //DropDownList3 绑带数据,显示 DropDownList3.DataTextField = "name"; //文本内容字段
DropDownList3.DataValueField = "id"; //值字段
DropDownList3.DataBind();
你这样写绑定不上吗?
查询出来dt 而后循环dt foreach(Datarow dr in dt)
{
this.ddl.itmes.add(new listitem(dr[].tostring(),dr[].tostring()));// 文本和值
}
C#中 下拉框如何绑定数据表?
方法一
SqlDataAdapter da = new SqlDataAdapter("select id,name from test",conn);
DataSet ds=new DataSet();
da.Fill(ds,"test");
dropdownlist1.DataSource=ds.Tables[0];
DropDownList1.DataTextField = "name";
DropDownList1.DataValueField = "id";
dropdownlist1.DataBind();
方法二
for(int i=0;i
<ds.tables[0].count;i++)
{
dropdownlist1.Items.Add(ds.Tables[0].Rows[i][0]);
}
好象只要点就行了,,不需要写代码
dropdownlist1.DataSource=DataTable1.DefaultView;
dropdownlist1.DataBind();
SqlCommand cmd1 = new SqlCommand("select c_name from fdy where department='" + comboBox1.Text + "'", conn);
SqlDataReader dr1 = cmd1.ExecuteReader();
comboBox3.Items.Clear();
while (dr1.Read())
comboBox3.Items.Add(dr1.GetString(0).Trim());
C#.NET的dropdownlist绑定数据后,编辑数据时,显示第一项数据的TEXT总是被改成选定的数据
Dropdownlist1.SelectedItem.Text = row.Cells[1].Text.Trim();
你要理解这句话的意思,她是给选中的项的文本赋值,并不是选中text位cells[1].text的项。
Dropdownlist1.SelectedIndex = yourindex;这个是选中项的索引。你给这个赋值才是让索引为yourindex的项被选中。
你要加载的页面时,GridView不显示什么样的数据。然后下拉列表内显示的“选择”动态绑定GV数据,然后根据选择吗?
你可以加载该页面时的第一份具有约束力的GV数据。 dropdownlis.Items.Insert()这个方法的第一行插入DropDownList的一个DropDownList的AutoPostBack和的selectedindexchange或按钮事件叶濠。拼接SQL语句的动态查询。写的重视。 DropDownList的数据绑定代码中的if(!回传)块内。否则DropDownList的SelectedItem是第一个简短的代码如下:
Page_Load()事件:如果(!IsPostBack的)
{
/ /连接到顶部DropDownList的数据块(略)插入this.dropdownlist1.items.insert的第一个空值(0,新的ListItem(“文本[]”;值[空字符串]“))(新的ListItem()的参数没有印象稍微看MSDN) BR />}
aspx页中:
dropdownlist_selectedindexchange()事件:
/ /绑定GV代码段(略)
Dropdownlist1.Text = row.Cells[1].Text.Trim();
这样就可以了。
不应该设置Text属性,而是设置SelectedIndex。通常是循环比对显示内容对应的Code(避免显示的内容有重复,导致选择错误),找到Index,然后选中。