2011-08-25 56 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 
}