dropdownlist index改变了值

时间:2014-03-14 10:52:46

标签: asp.net

当我更改dropdownlist1项时出现问题,在DropDownList1_SelectedIndexChanged事件中未访问更改的项目。

这是我的代码......

namespace My_News.Views.Shared
{
    public partial class Master : System.Web.UI.MasterPage
    {
        SqlDataReader dr;
        string user_id = "";

        protected void Page_Load(object sender, EventArgs e)
        {

                /* user login information */

                if (Session["status"] != null)
                {
                    Button1.Text = "Logout";
                    Button2.Visible = true; ;
                    Button2.Text = Session["name"] as string + "'s Profile";
                    Button3.Enabled = true;
                    DropDownList1.Enabled = true;
                    user_id = Session["reg_id"] as string;


                    DropDownList1.Items.Clear();
                    using (SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["Connection_String"].ConnectionString))
                    {
                        using (SqlCommand cmd = new SqlCommand())
                        {
                            cmd.CommandText = "SELECT DISTINCT[news_category] from [news_profile] WHERE [user_id]='" + user_id + "'";
                            cmd.Connection = connection;
                            connection.Open();
                            dr = cmd.ExecuteReader();

                            while (dr.Read())
                            {
                                DropDownList1.Items.Add(dr[0].ToString());
                            }
                            connection.Close();
                        }
                    }
                }
                else
                {
                    Button1.Text = "Login";
                    Button2.Visible = false;
                    Button3.Enabled = false;
                    DropDownList1.Enabled = false;
                    Session.Clear();
                }

        }    

Dropdownnlist索引更改事件...

        protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
        {            
            Session["news_category"] = DropDownList1.Text;
            Session["reload"] = "yes";
            Session.Timeout = 10;           
            Response.Redirect("Default.aspx");
        }


    }
}

请帮帮我。

1 个答案:

答案 0 :(得分:0)

您需要像这样修改您的代码

protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
            bindDDL();
    }

    protected void ddl_SelectedIndexChanged(object sender, EventArgs e)
    {
        string s = ddl.Text;
    }

    public void bindDDL()
    {
        DataTable dt = new DataTable("Drop");
        dt.Columns.Add("ID", typeof(int));
        dt.Columns.Add("Name", typeof(string));
        dt.Rows.Add(1, "ABCD");
        dt.Rows.Add(2, "EFGH");

        ddl.DataSource = dt;
        ddl.DataValueField = "ID";
        ddl.DataTextField = "Name";
        ddl.DataBind();
    }