0

私は 2 つのajax:CascadingDropDownを持っています。1つはstateで、もう 1 つはcountyです。ユーザーが状態を変更したかのように機能し、に新しいデータが補充されます。ただし、問題は、が新しいデータを取得すると、選択されたインデックスが同じままになることです。ユーザーが状態を変更したときに、選択したインデックスを 0 に設定するにはどうすればよいですか? ありがとう!

<asp:DropDownList ID="Location_State" runat="server">
</asp:DropDownList>

<ajax:CascadingDropDown ID="StateCascading" runat="server" Category="State" 
                        TargetControlID="Location_State" 
                        ServiceMethod="BindStateDropdown" 
                        ServicePath="CountyService.asmx">
</ajax:CascadingDropDown>

<asp:DropDownList ID="Location_County" runat="server">
</asp:DropDownList>

<ajax:CascadingDropDown ID="CountyCascading" runat="server" Category="County" 
                        TargetControlID="Location_County"
                        ParentControlID="Location_State"
                        ServiceMethod="BindCountyDropdown" 
                        ServicePath="CountyService.asmx">
</ajax:CascadingDropDown>

郡リストにデータを入力する関数は次のとおりです

[WebMethod]
public CascadingDropDownNameValue[] BindCountyDropdown(string knownCategoryValues, string category)
{
    StringDictionary statedetails = CascadingDropDown.ParseKnownCategoryValuesString(knownCategoryValues);
    List<CascadingDropDownNameValue> countydetails = new List<CascadingDropDownNameValue>();
    string tableName = "county";
    string sqlSQL = "";
    string sqlConnStr = ConfigurationManager.ConnectionStrings["ConnectionString"].ToString();
    SqlConnection sqlConn = new SqlConnection(sqlConnStr);
    sqlConn.Open();
    sqlSQL = "SELECT [NAME], [CNTY_FIPS] FROM " + tableName + " [county] WHERE (\[STATE_FIPS] = @STATE_FIPS order by name";
    SqlCommand cmdSql = new SqlCommand(sqlSQL, sqlConn);
    ((SqlParameter)cmdSql.Parameters.Add("@STATE_FIPS", SqlDbType.VarChar)).Value = statedetails["State"];
    SqlDataReader rdr = cmdSql.ExecuteReader();
    while (rdr.Read())
    {
        countydetails.Add(new CascadingDropDownNameValue(rdr["NAME"].ToString(), rdr["CNTY_FIPS"].ToString()));
    }
    rdr.Close();
    sqlConn.Close();
    return countydetails.ToArray();
}
4

1 に答える 1