PDA

View Full Version : ارتباط دو dropdownlist وثبت هردو در بانک



sajad_boj71
دوشنبه 15 اردیبهشت 1393, 14:21 عصر
سلام
سایتم شامل قسمت های(موبایل،سرگرمی و...)هستش و حالا میخوام وقتی در dropdownlist اولی موبایل رو انتخاب کردم در dropdownlist
دومی انواع گوشی ها(sony،htc،appleو...)لیست بشه و هر دو dropdownlist در بانکم ثبت بشه و اگه بخش سرگرمی رو زدم زیر مجموعه ای نمایش داده نشه و چیزی ثبت نشه.
ممنون میشم راهنمایی کنید.تشکر

kavayo
دوشنبه 15 اردیبهشت 1393, 16:01 عصر
ابتدا بایستی خاصیت Auto postback کنترلت رو true کنی سپس در رویداد SelectIndexChanged کنترل اولی با اتصال به دیتابیس و جدول مورد نظر بیا تمام سطر هایی رو که کلید خارجی اون برابر خاصیت Selectedvalue کنترل اولی است انتخاب کن و حاصل رو به dropdownlist دومی bind کن .
و برای اطلاعات بیشتر به لینک زیر مراجعه کن:
http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/CascadingDropDown/CascadingDropDown.aspx

sajad_boj71
دوشنبه 15 اردیبهشت 1393, 21:05 عصر
ابتدا بایستی خاصیت Auto postback کنترلت رو true کنی سپس در رویداد SelectIndexChanged کنترل اولی با اتصال به دیتابیس و جدول مورد نظر بیا تمام سطر هایی رو که کلید خارجی اون برابر خاصیت Selectedvalue کنترل اولی است انتخاب کن و حاصل رو به dropdownlist دومی bind کن .
و برای اطلاعات بیشتر به لینک زیر مراجعه کن:
http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/CascadingDropDown/CascadingDropDown.aspx
تشکر از پاسختون اما
من بعضی قسمت هایی که فرمودین رو متوجه نشدم،اگه میشه یک نمونه آماده برام بزارین.ممنون

kavayo
دوشنبه 15 اردیبهشت 1393, 22:22 عصر
<asp:DropDownList ID="ddlContinents" runat="server" AutoPostBack = "true"
OnSelectedIndexChanged="ddlContinents_SelectedIndexChanged">
<asp:ListItem Text = "--Select Continent--" Value = ""></asp:ListItem>
</asp:DropDownList>

<asp:DropDownList ID="ddlCountry" runat="server"
Enabled = "false" ">
<asp:ListItem Text = "--Select Country--" Value = ""></asp:ListItem>
</asp:DropDownList>






protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ddlContinents.AppendDataBoundItems = true;
String strConnString = ConfigurationManager
.ConnectionStrings["conString"].ConnectionString;
String strQuery = "select ID, ContinentName from Continents";
SqlConnection con = new SqlConnection(strConnString);
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = strQuery;
cmd.Connection = con;
try
{
con.Open();
ddlContinents.DataSource = cmd.ExecuteReader();
ddlContinents.DataTextField = "ContinentName";
ddlContinents.DataValueField = "ID";
ddlContinents.DataBind();
}
catch (Exception ex)
{
throw ex;
}
finally
{
con.Close();
con.Dispose();
}
}
}


protected void ddlContinents_SelectedIndexChanged(object sender, EventArgs e)
{
ddlCountry.Items.Clear();
ddlCountry.Items.Add(new ListItem("--Select Country--", ""));



ddlCountry.AppendDataBoundItems = true;
String strConnString = ConfigurationManager
.ConnectionStrings["conString"].ConnectionString;
String strQuery = "select ID, CountryName from Countries " +
"where ContinentID=@ContinentID";
SqlConnection con = new SqlConnection(strConnString);
SqlCommand cmd = new SqlCommand();
cmd.Parameters.AddWithValue("@ContinentID",
ddlContinents.SelectedItem.Value);
cmd.CommandType = CommandType.Text;
cmd.CommandText = strQuery;
cmd.Connection = con;
try
{
con.Open();
ddlCountry.DataSource = cmd.ExecuteReader();
ddlCountry.DataTextField = "CountryName";
ddlCountry.DataValueField = "ID";
ddlCountry.DataBind();
if (ddlCountry.Items.Count > 1)
{
ddlCountry.Enabled = true;
}
else
{
ddlCountry.Enabled = false;

}
}
catch (Exception ex)
{
throw ex;
}
finally
{
con.Close();
con.Dispose();
}
}






و در انتها میتوانی با دستور yourdropdownlisName.selectedvalue مقادیر انتخاب شده از کنترل هایتان را بگیرید و در دیتابیس ثبت کنید