2014-10-18 58 views
0

我有城市名稱和車牌。車牌從1到100如何從DB設置SelectList值

我想表明從像32,54,88,1,2,3,4,5車牌城市開始...... 100

車牌32,54, 88個城市是我國最挑剔的城市,所以我想首先展示他們。

我的數據庫模式是這樣的:

  • LicencePlateId = 32,CITYNAME = 「City1」
  • LicencePlateId = 54,CITYNAME = 「城2」
  • LicencePlateId = 88,CITYNAME = 「請分享幫助」
  • LicencePlateId = 1,CITYNAME = 「....」
  • LicencePlateId = 2,CITYNAME = 「....」
  • LicencePlateId = 3,CITYNAME = 「....」
  • LicencePlateId = 4,CITYNAME = 「....」

我得到的所有城市從數據庫中使用此代碼。我沒有問題

List<CityVM> myCity= new List<CityVM>(); 
    myCity= CityBL.GetAllCities(); 

比我添加城市到的SelectList

List<SelectListItem> cityList= new List<SelectListItem>(); 
    { 
     for (var i = 1; i < myCity.Count + 1; i++) 
     { 
     cityList.Add(new SelectListItem { Text = myCity.FirstOrDefault(k => k.Id == i).Ad.ToString(), Value = i.ToString() }); 
     } 

     cityList.Add(new SelectListItem { Text = "All Cities ", Value = "100" }); 
    } 

但是當我看查看部分下拉菜單來了這樣的:

  • LicencePlate = 1,CITYNAME =「.....」
  • LicencePlate = 2,CityName =「.....」
  • LicencePlate = 3,CityName =「。 ....「

我如何從LicencePlateId = 32開始?

+1

什麼財產在你的數據庫/數據模型顯示它們的使用頻率? – 2014-10-18 10:58:08

+0

CityId =牌照我的意思是。我會改變代碼。謝謝。 – ispanak 2014-10-18 11:00:03

+1

如果您想按_most首先使用3個城市進行排序,則必須有一個屬性,指示使用頻率 – 2014-10-18 11:06:15

回答

1

嘗試的項目使用forforeach他們位於List<CityVM>無論是爲了增加List<SelectListItem>

for (int i = 0; i < myCity.Count - 1; i++) 
{ 
    cityList.Add(new SelectListItem 
       { 
        Text = myCity[i].Ad.ToString(), 
        Value = myCity[i].Id.ToString() 
       }); 
} 

cityList.Add(new SelectListItem { Text = "All Cities ", Value = "100" }); 
+0

非常感謝。我沒有看到Value = myCity [i] .Id.ToString()部分。 – ispanak 2014-10-20 06:39:35