在dropdownlist绑定了数据源之后,如何让dropdownlist显示时是“请选择”
<asp:DropDownList ID="xw_dl1" runat="server" DataSourceID="SqlDataSource1" DataTextField="jsname" DataValueField="jsname" >就只是这样。我希望进入页面之后不是直接显示jsname,而是显示“请选择”。
在后台代码中,这样子做无效。。
xw_dl1.DataBind();
xw_dl1.Items.Insert(0, "请选择XXX ");
也在页面设计中直接添加了<asp:ListItem Selected="True">--请选择--</asp:ListItem>
也还是无效。
请教各位高手、我应该怎么做?
--------------------编程问答-------------------- xw_dl1.DataBind();
xw_dl1.Items.Insert(0, "请选择XXX ");
xw_dl1.SelectedIndex=0; --------------------编程问答-------------------- ListItem list = new ListItem();
list.Value = "默认";
list.Text = "--请选择--";
ddl.Items.Add(list);
ddl.SelectedValue = "默认"; --------------------编程问答--------------------
你好、我刚刚试了一下、但是这个值会直接传到下一个页面去。另一个页面的lable值变成了 ==请选择==
请问你还有什么高招吗? --------------------编程问答--------------------
亲、我试了、编译有错误哦。
System.ArgumentOutOfRangeException: “xw_dl1”有一个无效 SelectedValue,因为它不在项目列表中。
参数名: value --------------------编程问答--------------------
不是很明白你的整体代码是怎么写的? --------------------编程问答--------------------
在后台代码里、有个定义的 Session["xw_dl1"] = xw_dl1.SelectedValue.Trim();
将他的值传到另一个页面。
另一个页面接收数据: xw2_jsnamelbl2.Text = Convert .ToString (Session ["xw_dl1"]); --------------------编程问答--------------------
如果期望在另一个页面不显示“==请选择== ”的话,可以这样添加
xw_dl1.DataBind();
ListItem list = new ListItem();
list.Value = string.Empty;
list.Text = "--请选择--";
xw_dl1.Items.Insert(0,list);
xw_dl1.SelectedIndex=0;
这样另一个页面显示出来应该是空字符串,不知道你是不是想这样 --------------------编程问答--------------------
+1 --------------------编程问答--------------------
不是的、我是选了值进去的、选了一个老师名字、不过那个老师是因为没有评价、所以会有一个gridview显示没有任何数据。但是我想要在另一个页面也显示我选中的那个老师的名字。 --------------------编程问答--------------------
而且刚刚那个代码、在第二个页面的gridview里的数据全都没有了。那个gridview是根据传进来的xw_dl1绑定了的。现在之前有数据的那些教师都变没有任何数据了。 --------------------编程问答--------------------
这个是第一个页面的后台代码:
protected void Page_Load(object sender, EventArgs e)
{
if (Session["xwid"] != null)
{
SqlDataReader dr;
SqlCommand cm1 = MyClass.myclass.GetCommand("select bjid from Login_xw where xwid='" + Session["xwid"] + "'");
cm1.Connection.Open();
dr = cm1.ExecuteReader();
if (dr.Read())
{
xw_bjidlbl2.Text = dr["bjid"].ToString();
SqlDataReader dr2;
SqlCommand cm2 = MyClass.myclass.GetCommand("select jsname,kcname,ksid,sksj,kcjs from kcb_js_kcap where bjid='" + dr["bjid"] + "'");
cm2.Connection.Open();
dr2 = cm2.ExecuteReader();
xw_GridView1.DataSource = dr2;
xw_GridView1.DataBind();
xw_dl1.DataBind();
}
}
Session["xw_dl1"] = xw_dl1.SelectedValue.Trim();
}
通过第一个页面的button控件直接进入下一个页面。
这个是第二个页面的后台代码:
protected void Page_Load(object sender, EventArgs e)
{
//显示学期
DateTime dt1 = DateTime.Now;
DateTime dt2 = Convert.ToDateTime("2011-08-15 00:00:00");
DateTime dt3 = Convert.ToDateTime("2012-08-15 00:00:00");
if (dt1 > dt2 && dt1 < dt3)
{
string y = DateTime.Now.Date.Month.ToString();
int yy = Convert.ToInt32(y);
if (yy > 8 || yy < 3)
{
int xqid = 1;
xw2_xqidlb2.Text = Convert.ToString(xqid);
}
else
{
int xqid = 2;
xw2_xqidlb2.Text = Convert.ToString(xqid);
}
}
//显示教师姓名
xw2_jsnamelbl2.Text = Convert .ToString (Session ["xw_dl1"]);
//显示班级编号
SqlDataReader dr;
SqlCommand cm1 = MyClass.myclass.GetCommand("select bjid from Login_xw where xwid='" + Session["xwid"] + "'");
cm1.Connection.Open();
dr = cm1.ExecuteReader();
if (dr.Read())
{
xw2_bjidlbl2.Text = dr["bjid"].ToString();
SqlDataReader dr2;
SqlCommand cm2 = MyClass.myclass.GetCommand("select jsname,kcname,sksj,jsff,skxg,tkxg,xsdkl,jxjd ,qtsm from jspj join jsxx on jspj.jsid=jsxx.jsid join kcxx on jspj.kcid=kcxx.kcid where jspj.jsid in(select jsxx.jsid from jsxx where jsname='" + Session["xw_dl1"] + "')and pjid in(select pjid from kcap where bjid='" + dr["bjid"] + "') and kcxx.kcid in(select kcid from kcxx where xqid='" + xw2_xqidlb2.Text + "' )");
cm2.Connection.Open();
dr2 = cm2.ExecuteReader();
xw2_GridView1.DataSource = dr2;
xw2_GridView1.DataBind();
}
}
--------------------编程问答-------------------- 先绑定
然后
ID.Items.Insert(0, “你想输的文字");
--------------------编程问答-------------------- 这个是老问题了。http://topic.csdn.net/u/20111103/14/373b7734-b56d-422f-a819-bc6f1448c512.html
为你的DropDownList控件添加DataBound事件,在这里添加代码。
--------------------编程问答--------------------
protected void xw_dl1_DataBound(object sender, EventArgs e)
{
xw_dl1.Items.Insert(0, "---请选择---");
}
--------------------编程问答--------------------
lst.Insert(0, new ListItem("--请选择--", "-1"));
xw_dl1.DataBind(); //数据再次绑定
xw_dl1.Items.Insert(0, "请选择XXX "); //绑定之后在追加一个项
xw_dl1.SelectedIndex=0;//这个项的索引位置是0 ,也就是排在最上面 --------------------编程问答--------------------
--------------------编程问答--------------------
xw_dl1.DataBind(); //数据再次绑定
xw_dl1.Items.Insert(0, "请选择XXX "); //绑定之后在追加一个项
xw_dl1.SelectedIndex=0;//这个项的索引位置是0 ,也就是排在最上面
+1
补充:.NET技术 , ASP.NET