C#でのDropDownList、項目を選択使用して、すべての時間が経過した後のDropDownListの項目のオーバーフローを取得
質問
だけでなく、問題は、私はにDDLを取得しようとしていますということです。 DBのtabelから1 Reciveのcatagories - 作業 2. DDL内の項目によって異なるテーブルから製品を選択するのonchange - 作業します No1のに問題があったが、その問題を修正しました。私は、ポストバックを使用する必要が取り組んでNo1のを取得することが分かりました。それをしたし、その部分でのすべてのものがうまく機能しているとactualyすべてのものが動作している...しかし、私の抱擁の問題(と私はそれのために何か良い答えを見つけるカント)たびに、私はすべての上のすべての時間を取得し、アイテムIAを変更することです再度( - secont時間16 - 私がで初期状態8項目有する24など...) 使用しよう:ddlCatagories.Items.Clear(); 私は任意の重複を得ていないのですが、その後、私は任意のものを取得しておりませんことを使用する場合、それは関係なく、私は、リストで選択したものを、リストから最初のcatagoryごとに時間を要しません。.. 過去一週間のためにそれを把握しようとしている...助けてください: - )
public partial class selectNamesFromCatagories : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
ddlCatagories.Items.Clear();
SqlDataReader dr = DbHelper.ExecuteReader(
sqlConn1.home,
"spSelectNamesFromCatagories");
while (dr.Read())
{
ListItem li = new ListItem(dr["CategoryName"].ToString());
ddlCatagories.Items.Add(li);
}
dr.Close();
}
protected void ddlCatagories_SelectedIndexChanged(object sender, EventArgs e)
{
SqlDataReader dr = DbHelper.ExecuteReader(
sqlConn1.home,
"spProductsByCatagoryID",
new SqlParameter("@catName", ddlCatagories.Text)
);
while (dr.Read())
{
TableRow tr = new TableRow();
for (int i = 0; i < dr.FieldCount; i++)
{
TableCell td = new TableCell();
td.Text = dr[i].ToString();
tr.Controls.Add(td);
}
tblProductsByCatagories.Controls.Add(tr);
}
}
}
解決
のみのページがポストバックされていないかどうかをチェックすることにより、最初のロードでのDropDownListを移入すなわちます。
if (!Page.IsPostBack)
{
// Populate list
}
他のヒント
私はダンに同意し、彼らはコールバックを発生させることができるよう、あなたが任意のAJAX対応コントロールを持っている場合だけでなく、次を追加することになります。
if (!Page.IsPostBack && !Page.IsCallBack)
{
// Populate list
}
所属していません StackOverflow