开发者

Get selected value from a dropdownlist asp.net

I know this is a silly question bu开发者_如何学Pythont i can't find out how to get the selected value from my dropdownlist :(

Init the dropdownlist:

             SqlCommand command = new SqlCommand("SelectAllUserID", connection);
             command.CommandType = CommandType.StoredProcedure;

            SqlDataReader sqlReader = command.ExecuteReader();
            if (sqlReader.HasRows)
            {
                TProjectMID.DataSource = sqlReader;
                TProjectMID.DataTextField = "UserID";
                TProjectMID.DataValueField = "UserID";
                TProjectMID.DataBind();
            }

Try to get the value of drop down list:

                String a;
                a = TProjectMID.SelectedValue;
                a = TProjectMID.SelectedItem.Value;
                a = TProjectMID.DataValueField;
                a = TProjectMID.Text;

It didn't return the value I chose, it keeps returning the default value when the dropdownlist appear ??

Can anybody tell me what I did wrong ? Thank you


You need to make sure you are not re-loading the DDL everytime the page loads, in other words only fill it on the initial page load, and if it is a page postback, don't re-load it so the value will be retained.

Something like this should work:

   protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack) {

         SqlCommand command = new SqlCommand("SelectAllUserID", connection);
         command.CommandType = CommandType.StoredProcedure;

          SqlDataReader sqlReader = command.ExecuteReader();
          if (sqlReader.HasRows)
          {
            TProjectMID.DataSource = sqlReader;
            TProjectMID.DataTextField = "UserID";
            TProjectMID.DataValueField = "UserID";
            TProjectMID.DataBind();
          }
        }

}

and then in your code to retrieve the value, this should work:

   string a = TProjectMID.SelectedValue;


have you made sure that you have set a value on the options for the value to be returned?

something like this

<select>
<option value="I am foo">foo</option>
<option value="I am bar">bar</option>
</select>
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜