C# 会话值按下拉列表显示
本文关键字:列表显示 会话 | 更新日期: 2023-09-27 18:36:36
我正在尝试通过下拉列表显示会话值。这就是我制作的代码,但它不能很好地工作。纠正我
//session created
public void SAN()
{
cn.Open();
string sq = "select Sitealiasname from tbl_Sitemaster where sitename in (select sitename from tbl_emploeedetails where employeestatus='L' and employeeid='" + Session["EMPID"].ToString() + "') and status='A' order by Sitealiasname asc";
SqlCommand d = new SqlCommand(sq, cn);
SqlDataReader r;
r = d.ExecuteReader();
while (r.Read())
{
Label4.Text = r["Sitealiasname"].ToString().Trim();
Session["Sitealiasname"] = Label4.Text;
}
cn.Close();
}
//call the session to dropdownlist
protected void Page_Load(object sender, EventArgs e)
{
ddlsite.Text = Session["Sitealiasname"].ToString();
}
你可以
试试
用于 SAN 功能
List<String> sitenames=null;
using (DataReader r = d.ExecuteReader())
{
sitenames = r.AutoMap<string>().ToList();
}
Session["Sitealiasname"] = sitenames;
对于绑定到下拉列表,您可以使用
ddlsite.DataSource = Session["Sitealiasname"];
ddlsite.DataBind();
检查此代码,如果我确切地了解您的需求,那么这将为您工作。
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
SAN();
bind();
}
}
private void bind()
{
ArrayList ar = new ArrayList();
ar.Add("first");
ar.Add("Second");
ar.Add("Third");
ar.Add("Four");
ar.Add("Five");
ar.Add("Six");
ar.Add("Seven");
DropDownList1.DataSource = ar;
DropDownList1.DataBind();
DropDownList1.SelectedValue = Session["Sitealiasname"].ToString();
}
public void SAN()
{
cn.Open();
string sq = "select Sitealiasname from tbl_Sitemaster where sitename in (select sitename from tbl_emploeedetails where employeestatus='L' and employeeid='" + Session["EMPID"].ToString() + "') and status='A' order by Sitealiasname asc";
SqlCommand d = new SqlCommand(sq, cn);
SqlDataReader r;
r = d.ExecuteReader();
while (r.Read())
{
Label4.Text = r["Sitealiasname"].ToString().Trim();
Session["Sitealiasname"] = Label4.Text;//Suppose here session value "first"
}
cn.Close();
}
如果不是你想要的,请告诉我。
在页面加载中尝试此代码,将会话值绑定到Dropdowlist中
ddlsite.Items.Add(Session["Sitealiasname"].Tostring());
下拉列表
没有您在此处使用的文本属性。您必须首先填充下拉列表,然后选择要显示的值。
首先,您应该通过以下方式
在下拉列表中添加项目 items.add()
通过下拉列表支持的属性列表链接
试试这个
添加此行------编辑-------------
using System.Linq;
使用 System.Collections.Generic;
public void SAN()
{
cn.Open();
string sq = "select Sitealiasname from tbl_Sitemaster where sitename in (select `sitename from tbl_emploeedetails where employeestatus='L' and employeeid='" + Session["EMPID"].ToString() + "') and status='A' order by Sitealiasname asc";`
SqlCommand d = new SqlCommand(sq, cn);
SqlDataReader r;
r = d.ExecuteReader();
List<string> sitnames = new List<string>();
while (r.Read())
{
sitename.Add(r["Sitealiasname"].ToString().Trim());
}
cn.Close();
Session["Sitealiasname"] = sitename
}
protected void Page_Load(object sender, EventArgs e)
{
///Bind data here
if(Session["Sitealiasname"] != null){
ddlsite.DataSource = Session["Sitealiasname"].ToList();
ddlsite.DataBind();
}
}