我试图通过下拉列表显示会话值。这就是我所制作的代码,但它不能很好地工作。纠正我
//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();
}
答案 0 :(得分:1)
你可以尝试
对于SAN功能使用
List<String> sitenames=null;
using (DataReader r = d.ExecuteReader())
{
sitenames = r.AutoMap<string>().ToList();
}
Session["Sitealiasname"] = sitenames;
对于Binding to Dropdownlist,您可以使用
ddlsite.DataSource = Session["Sitealiasname"];
ddlsite.DataBind();
答案 1 :(得分:0)
在页面加载中尝试使用此代码将绑定会话值绑定到下拉列表
ddlsite.Items.Add(Session["Sitealiasname"].Tostring());
答案 2 :(得分:0)
答案 3 :(得分:0)
试试这个
//添加此行 ------编辑-------------
using System.Linq;
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();
}
}
答案 4 :(得分:0)
如果我完全了解您的需求,请检查此代码,这将对您有用。
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();
}
如果不是你想要的,请告诉我。