0

ドロップダウンリストでセッション値を表示しようとしています。これは私が作成したコードですが、うまく機能しません。私を訂正してください

    //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();
    }
4

5 に答える 5

1

あなたが試すことができます

SAN機能用

    List<String> sitenames=null;
    using (DataReader  r = d.ExecuteReader())
    {    
       sitenames = r.AutoMap<string>().ToList();
    }
    Session["Sitealiasname"] = sitenames;

ドロップダウンリストへのバインドには、使用できます

    ddlsite.DataSource = Session["Sitealiasname"];
    ddlsite.DataBind();
于 2012-06-08T05:47:14.463 に答える
0

このコードをPageloadで試して、セッション値をDropdowlistにバインドします

ddlsite.Items.Add(Session["Sitealiasname"].Tostring());
于 2012-06-08T05:39:13.960 に答える
0

これを試して

// この行を追加 ------ 編集済み-------------

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();
}
}
于 2012-06-08T06:45:34.930 に答える
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();

    }

あなたが望むものではない場合はお知らせください。

于 2012-06-08T07:15:05.363 に答える
0

ドロップダウン リストには、ここで使用したテキスト プロパティがありません。最初にドロップダウンに入力してから、表示する値を選択する必要があります。


最初に、 items.add()でドロップダウンに項目を追加する必要があります。

ドロップダウンリンクでサポートされているプロパティのリスト

于 2012-06-08T05:40:53.233 に答える