0

を使用してASP.NET Web Forms/C#います。

私は州の選択に基づいてcode behind都市を埋めるこの機能を持っています。DropDownListDropDownList

これが私の機能です。

public void CityFill(int index,int id)
        {
            //This function calls GetCities method which will get all cities of a state.
            var city = CustomerBLL.GetCities(index);



            //If id=0 then clear all dropdown before filling
            //or else they get appended.
            if (id == 0)
            {
                NewCustomerddlResidentialCity.Items.Clear();
                NewCustomerddlOfficeCity.Items.Clear();
                NewCustomerddlNativeCity.Items.Clear();
                NewCustomerddlNomineeCity.Items.Clear();
            }
            else
            {
                //If 1 then clear residential city
                if(id==1)
                    NewCustomerddlResidentialCity.Items.Clear();

                //If 2 then clear Office city.
                if(id==2)
                    NewCustomerddlOfficeCity.Items.Clear();

                //If id=3 then clear Native City.
                if(id==3)
                    NewCustomerddlNativeCity.Items.Clear();

                //If id=4 then clear Nominee City
                if(id==4)
                    NewCustomerddlNomineeCity.Items.Clear();
            }

            //Loop through all the cities in st object
            foreach (var c in city)
            {
                //If id=0 then fill all dropdowns
                if (id == 0)
                {
                    NewCustomerddlResidentialCity.Items.Add(c.city_name.Trim());
                    NewCustomerddlOfficeCity.Items.Add(c.city_name.Trim());
                    NewCustomerddlNativeCity.Items.Add(c.city_name.Trim());
                    NewCustomerddlNomineeCity.Items.Add(c.city_name.Trim());
                }
                else
                {
                    //If 1 then fill Res City
                    if(id==1)
                    NewCustomerddlResidentialCity.Items.Add(c.city_name.Trim());

                    //If 2 then fill Off City
                    if(id==2)
                    NewCustomerddlOfficeCity.Items.Add(c.city_name.Trim());

                    //If 3 then fill nat city
                    if(id==3)
                    NewCustomerddlNativeCity.Items.Add(c.city_name.Trim());

                    //If 4 then fill nominee city
                    if(id==4)
                    NewCustomerddlNomineeCity.Items.Add(c.city_name.Trim());

                }
            }
        }

関数に渡される引数は index と id です。インデックスはSelectedIndex状態DropDownListです。id は、DropDownList入力する必要がある都市です。

BLLクラスはこちら

namespace CwizBankApp
{
    public class CustomerBLL
    {
        public IList<mem_city> GetCities(int index)
        {
            using (var db = new DataClasses1DataContext())
            {
                var city = db.mem_cities.Where(c => c.state_id.Equals(index)).ToList();
                return city;
            }
        }
    }
}

関数を分離コードから BLL クラスに移動する必要があります。

これについてどうすればいいですか。

誰でもこれで私を助けることができますか? どんな提案でも大歓迎です。

4

1 に答える 1

1

BLLクラスでは実行しないことをお勧めします。データアクセスロジックをプレゼンテーションロジックから分離するように設計されているため、BLLに強制しないでください。

于 2012-07-04T09:30:56.493 に答える