Как заполнить текстовые поля на основе выбора выпадающего списка
Привет Эксперты
У меня возникли проблемы с заполнением текстовых полей в моей форме. Значение текстовых полей определяется тем, что пользователь выбирает в раскрывающемся списке. Когда я нажимаю что-то из выпадающего списка, ничего не появляется, и это не входит в цикл while.
Что я уже пробовал:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using DAL; using BLL; using System.Data; using System.Data.SqlClient; using System.Configuration; namespace XcellIT { public partial class WebForm4 : System.Web.UI.Page { //SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["dbConnection"].ConnectionString); private string CS = ConfigurationManager.ConnectionStrings["dbConnection"].ConnectionString; private BusinessLogicLayer bll = null; USER user = null; CLUB club = null; protected void Page_Load(object sender, EventArgs e) { if (IsPostBack != true) { bll = new BusinessLogicLayer(); ddlAthleteName.Items.Add(new ListItem("Select Athlete", "")); ddlAthleteName.AppendDataBoundItems = true; try { ddlAthleteName.DataSource = bll.FillAthlete(); ddlAthleteName.DataTextField = "Name"; ddlAthleteName.DataValueField = "UserID"; ddlAthleteName.DataBind(); } catch(Exception ex) { throw ex; } } else { } } protected void ddlAthleteName_SelectedIndexChanged(object sender, EventArgs e) { string strQuery = "SELECT * FROM USER WHERE UserID = @UserID"; SqlConnection con = new SqlConnection(CS); SqlCommand cmd = new SqlCommand(); cmd.Parameters.AddWithValue("@UserID", ddlAthleteName.SelectedItem.Value); cmd.CommandType = CommandType.Text; cmd.CommandText = strQuery; cmd.Connection = con; try { con.Open(); SqlDataReader sdr = cmd.ExecuteReader(); while (sdr.Read()) { txtGender.Text = sdr["Gender"].ToString(); txtEmail.Text = sdr["EmailAddress"].ToString(); txtPhoneNumber.Text = sdr["PhoneNumber"].ToString(); txtCity.Text = sdr["City"].ToString(); } } catch (Exception ex) { throw ex; } } } }
F-ES Sitecore
Вы указали Autopostback= "true" в своем выпадающем списке?
JustMeD
нет
Karthik_Mahalingam
Возможное решение
F-ES Sitecore
Ну, вот в чем твоя проблема.
JustMeD
Я вставил AutoPostBack, и AutoPostBack работает, но он все еще не входит в цикл while. Я попробовал сделать цикл do-while, и он не сработал так же хорошо.
Karthik_Mahalingam
вы получаете какую-нибудь ошибку ?
попробуйте запустить запрос в SQL IDE и убедитесь, что он возвращает некоторые данные