2011-08-25 59 views
0

我有一個Person數據庫表,有姓,名和IdCity字段。ASPNET MVC:自動完成字段,但需要保存ID

在視圖中,我實現了一個自動填充字段,讓用戶對城市進行數字化。

我應該如何設計ViewModel來處理idCity,以及如何將它傳遞給控制器​​?它是一個字符串,但我需要傳遞該ID,並最終插入數據庫,如果它還沒有在數據庫中存在。誰能幫我?

回答

1

在您的視圖操作中接收城市名稱,然後查看城市是否存在此名稱。如果是,請使用其ID。如果它不創建一個新的,並使用該ID:

public ActionResult Update(PersonModel model) 
{ 
    var city = _cityRepository.GetCityByName(model.CityName); 
    if (city == null) _cityRepository.Add(city); 

    // At this point city.Id contains your city Id 
    var person = new Person 
    { 
     ... 
     CityId = city.Id, 
     ... 
    }; 

    // Proceed to save your Person object 
}