View Full Version : ارتباط دو dropdownlist وثبت هردو در بانک
  
sajad_boj71
دوشنبه 15 اردیبهشت 1393, 15:21 عصر
سلام
سایتم شامل قسمت های(موبایل،سرگرمی و...)هستش و حالا میخوام وقتی در dropdownlist اولی موبایل رو انتخاب کردم در dropdownlist 
 دومی انواع گوشی ها(sony،htc،appleو...)لیست بشه و هر دو dropdownlist در بانکم ثبت بشه و اگه بخش سرگرمی رو زدم زیر مجموعه ای نمایش داده نشه و چیزی ثبت نشه.
ممنون میشم راهنمایی کنید.تشکر
kavayo
دوشنبه 15 اردیبهشت 1393, 17:01 عصر
ابتدا بایستی خاصیت Auto postback کنترلت رو true کنی سپس در رویداد SelectIndexChanged کنترل اولی با اتصال به دیتابیس و جدول مورد نظر بیا تمام سطر هایی رو که کلید خارجی اون برابر خاصیت Selectedvalue کنترل اولی است انتخاب کن و حاصل رو به dropdownlist دومی bind کن .
و برای اطلاعات بیشتر به لینک زیر مراجعه کن:
http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/CascadingDropDown/CascadingDropDown.aspx
sajad_boj71
دوشنبه 15 اردیبهشت 1393, 22:05 عصر
ابتدا بایستی خاصیت Auto postback کنترلت رو true کنی سپس در رویداد SelectIndexChanged کنترل اولی با اتصال به دیتابیس و جدول مورد نظر بیا تمام سطر هایی رو که کلید خارجی اون برابر خاصیت Selectedvalue کنترل اولی است انتخاب کن و حاصل رو به dropdownlist دومی bind کن .
و برای اطلاعات بیشتر به لینک زیر مراجعه کن:
http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/CascadingDropDown/CascadingDropDown.aspx
تشکر از پاسختون اما
من بعضی قسمت هایی که فرمودین رو متوجه نشدم،اگه میشه یک نمونه آماده برام بزارین.ممنون
kavayo
دوشنبه 15 اردیبهشت 1393, 23: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 مقادیر انتخاب شده از کنترل هایتان را بگیرید و در دیتابیس ثبت کنید
 
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.