簡體   English   中英

如何更新更新面板中的所有3個下拉列表

[英]How to update all the 3 dropdownlist in update panel

所以我正在做這個級聯下拉列表控件來獲取狀態,當國家下拉列表被更改,同樣,讓城市進行狀態更改...所以我得到整個頁面刷新..所以我嘗試更新面板但只有國家變得填充國家更改但由於某種原因,我無法改變城市。現在的狀態變化代碼我已經改變了城市,但我希望所有下拉列表都在更新面板中工作,即選擇國家,州應該填充和選擇州,城市應該填充..我正在附加代碼

<div class="row">  
    <div class="medium-6 columns">
        <div class="input-single  valid">
            <asp:DropDownList ID="ddlCountry" runat="server" TabIndex="13" AutoPostBack="true" OnSelectedIndexChanged="ddlCountry_SelectedIndexChanged"></asp:DropDownList>
            <small class="error">Country is required.</small>
        </div>
    </div>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            <div class="medium-6 columns">
                <div id="countrySubdivisionDiv" class="input-single">
                    <asp:DropDownList ID="ddlState" runat="server"   AutoPostBack="true" OnSelectedIndexChanged="ddlState_SelectedIndexChanged"></asp:DropDownList>
                    <small class="error">Region/State/Province is required.
                    </small>
                </div>
            </div>      
        </ContentTemplate>                                                          
    </asp:UpdatePanel>
</div>
<div class="row">
    <div class="medium-6 columns">
        <div class="input-single">
            <asp:UpdatePanel ID="fdf" runat="server">
                <ContentTemplate>
                    <asp:DropDownList ID="ddlCity" runat="server"   maxlength="50"></asp:DropDownList>
                </ContentTemplate>                                                          
            </asp:UpdatePanel>
            <small class="error">City is required.</small>
        </div>
    </div>
    <div class="medium-6 columns">
        <div class="input-single">
            <asp:TextBox ID="txtPostalCode" runat="server" placeholder="Post Code" MaxLength="15" TabIndex="16"></asp:TextBox>
            <small class="error">Postcode is required.</small>
        </div>
    </div>
</div>
</div>

相同的cs文件是。

  protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            PopulateContinentsDropDownList();


        }
        lblCheckEmail.Visible = false;
    }



    private void PopulateContinentsDropDownList()
    {
        DataSet ds = Data.spGetCountries();
        ddlCountry.DataSource = ds;
        ddlCountry.DataTextField = "CountryName";
        ddlCountry.DataValueField = "Country_Id";
        ddlCountry.DataBind();

        ListItem liCountry = new ListItem("Select Country");
        ddlCountry.Items.Insert(0, liCountry);

        ListItem liState = new ListItem("Select State");
        ddlState.Items.Insert(0, liState);

        ListItem liCity = new ListItem("Select City");
        ddlCity.Items.Insert(0, liCity);

        ListItem liCountryCode = new ListItem("Country Code");
        ddlCountrycode.Items.Insert(0, liCountryCode);

        ddlState.Enabled = false;
        ddlCity.Enabled = false;
    }

    protected void ddlCountry_SelectedIndexChanged(object sender, EventArgs e)
    {
        if (ddlCountry.SelectedValue == "")
        {
            ddlState.SelectedIndex = 0;
            ddlCity.SelectedIndex = 0;
            ddlState.Enabled = false;
            ddlCity.Enabled = false;
            ddlCountrycode.SelectedIndex = 0;
            ddlCountrycode.Enabled = false;
        }
        else
        {
            ddlState.Enabled = true;

            DataSet ds = Data.spGetStateByCountryId(Convert.ToInt32(ddlCountry.SelectedValue));
            ddlState.DataSource = ds;
            ddlState.DataTextField = "StateName";
            ddlState.DataValueField = "State_Id";
            ddlState.DataBind();

            DataSet ds1 = Data.spGetCountrycode(Convert.ToInt32(ddlCountry.SelectedValue));
            ddlCountrycode.DataSource = ds1;
            ddlCountrycode.DataTextField = "CountryCode";
            ddlCountrycode.DataValueField = "Country_Id";
            ddlCountrycode.DataBind();

            //ddlCity.SelectedIndex = 0;
            //ddlCity.Enabled = false;
        }
    }

    protected void ddlState_SelectedIndexChanged(object sender, EventArgs e)
    {
        if (ddlState.SelectedValue == "")
        {
            ddlCity.SelectedIndex = 0;
            ddlCity.Enabled = false;
        }
        else
        {
            ddlCity.Enabled = true;

            DataSet ds = Data.spGetCityByStateId(Convert.ToInt32(ddlState.SelectedValue));
            ddlCity.DataSource = ds;
            ddlCity.DataTextField = "CityName";
            ddlCity.DataValueField = "City_Id";
            ddlCity.DataBind();


        }
    }

    protected void LinkButton1_Click(object sender, EventArgs e)
    {
        DataSet ds = Data.spCheckEmail(txtEmail.Text);
        if (ds.Tables[0].Rows.Count > 0)
        {
            if (ds.Tables[0].Rows[0]["Email_Id"].ToString() == txtEmail.Text)
            {
                lblCheckEmail.Visible = true;
                lblCheckEmail.Text = "Email id already exists , please enter another email id.";
            }
            else
            {
                lblCheckEmail.Text = "";
                lblCheckEmail.Visible = false;
            }

        }
        else
        {

            Data objpro = new Data();
            string a = ddlYear.SelectedValue;
            string b = ddlMonth.SelectedValue;
            string c = ddlDate.SelectedValue;
            string DateofBirth = ddlDate.SelectedValue + "/" + ddlMonth.SelectedValue + "/" + ddlYear.SelectedValue;
            objpro.DOB = DateofBirth;
            objpro.Email_Id = txtEmail.Text;
            objpro.Password = txtPassword.Text;
            objpro.Acc_Currency = ddlCurrency.SelectedValue;
            objpro.FirstName = txtFirstName.Text;
            objpro.LastName = txtLastName.Text;
            objpro.Gender = ddlGender.SelectedValue;
            objpro.Address1 = txtAddress1.Text;
            objpro.Address2 = txtAddress2.Text;
            objpro.Country = ddlCountry.SelectedItem.Text;
            objpro.Region_State = ddlState.SelectedItem.Text;
            objpro.City = ddlCity.SelectedItem.Text;
            objpro.PostalCode = txtPostalCode.Text;
            objpro.Phone_Extension = ddlCountrycode.SelectedValue;
            objpro.PhoneNo = txtPhoneno.Text;


            if (Request.QueryString["Account_Id"] != null)
            {
                ID = Request.QueryString["Account_Id"];
            }
            else
            {
                ID = "0";
            }

            objpro.Account_Id = Convert.ToInt32(ID);
            int k = Data.CustomerInsert(objpro);

            Random randno = new Random();
            int cc = randno.Next(000000, 999999);
            string Uniqueid = "U" + cc;

            if (k != -1)
            {

                Data.spStoreUniqueId(k, Uniqueid);
            }

            Session["UniqueId"] = Uniqueid;
            Session["Email"] = txtEmail.Text;

            Page.ClientScript.RegisterStartupScript(Page.GetType(), "alert", "alert('Data Saved Successfully');window.location='JoininForm.aspx';", true);
            Response.Redirect("Welcome.aspx");
        }
    }



    protected void txtEmail_TextChanged(object sender, EventArgs e)
    {
        DataSet ds = Data.spCheckEmail(txtEmail.Text);
        if (ds.Tables[0].Rows.Count > 0)
        {
            if (ds.Tables[0].Rows[0]["Email_Id"].ToString() == txtEmail.Text)
            {
                lblCheckEmail.Visible = true;
                lblCheckEmail.Text = "Email id already exists , please enter another email id.";
            }

        }

    }

同時附加圖像。 包含國家城市和州的屏幕截圖的圖像

感謝你們的支持

嘗試以下代碼。 用以下更新面板替換您的更新面板

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate>
        <div class="medium-6 columns">
            <div id="countrySubdivisionDiv" class="input-single">
                <asp:DropDownList ID="ddlState" runat="server"   AutoPostBack="true" OnSelectedIndexChanged="ddlState_SelectedIndexChanged"></asp:DropDownList>
                <small class="error">Region/State/Province is required.
                </small>
            </div>
        </div>      
    </ContentTemplate> 
    <Triggers>
          <asp:AsyncPostBackTrigger ControlID="ddlCountry" EventName="SelectedIndexChanged" />
   </Triggers>
</asp:UpdatePanel>

<asp:UpdatePanel ID="fdf" runat="server">
    <ContentTemplate>
        <asp:DropDownList ID="ddlCity" runat="server"   maxlength="50">  </asp:DropDownList>
    </ContentTemplate>  
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="ddlState" EventName="SelectedIndexChanged" />
    </Triggers>                                                        
</asp:UpdatePanel>  

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM