C# c通过下拉列表显示的会话值
我试图通过下拉列表显示会话值。这是我编写的代码,但它的工作不好。纠正我C# c通过下拉列表显示的会话值,c#,.net,session,C#,.net,Session,我试图通过下拉列表显示会话值。这是我编写的代码,但它的工作不好。纠正我 //session created public void SAN() { cn.Open(); string sq = "select Sitealiasname from tbl_Sitemaster where sitename in (select sitename from tbl_emploeedetails where employee
//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();
}
在Pageload中尝试将会话值绑定到Dropdowlist中的代码
Dropdownlist没有您在此处使用的文本属性。您必须首先填充下拉列表,然后选择要显示的值 首先,您应该通过在下拉列表中添加项 items.add 下拉列表支持的属性列表 你可以试试 用于SAN功能
List<String> sitenames=null;
using (DataReader r = d.ExecuteReader())
{
sitenames = r.AutoMap<string>().ToList();
}
Session["Sitealiasname"] = sitenames;
试试这个
//添加这一行
---编辑-------
using System.Linq;
使用System.Collections.Generic;
检查此代码,如果我完全理解你需要什么,那么这将为你工作
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();
}
如果您不想要什么,请告诉我。很难理解SAN在哪里被调用。必须在加载页面之前调用它,才能定义会话值。我还将调试DB调用,以确保查询返回一个值…是否要在下拉列表中显示会话值?请您更清楚地说明您的问题,您编写的代码没有产生任何效果。Aravind您想在下拉列表中显示会话值吗?假设你在dropdownlist中有三个项目1、2、3,会话值为2。那么你想在dropdownlist中有两个项目?是吗?@stay\u Hunger:是的,朋友我已经有一个项目与dropdownlist有关联了,朋友。出于安全目的,我必须选择与会话值相等的项。我已经有了一个包含下拉列表的项。出于某种安全目的,我必须显示与会话值相等的项OK,然后使用ddlsite.SelctedValue=session[Sitealiasname];要设置会话的值。Get error friend找不到类型或命名空间名称“List”是否缺少using指令或程序集@Aravind Sai问题是否已解决?再次,Get error friend“object”不包含“ToListBy using code first、second、third、,在dropdownlist中进行第四次绑定,我将second分配给session对象。在页面加载时,我将second作为dropdownlist中的选定值
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();
}
}
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();
}