2014-09-02 84 views
0
`  public ActionResult Edit(int id = 0) 
    { 
     property property = db.Properties.Find(id); 

     try 
     { 
      ViewBag.City = new SelectList(db.Cities, "CityId", "City", property.CityId); 
      ViewBag.Locality_Id = new SelectList(db.Areas, "Locality_Id", "Locality", property.Locality_Id); 
      ViewBag.citylist = _data.getCity(); 
      ViewBag.typeproperty = _data.TypeProperty(); 
      ViewBag.Rooms = _data.RoomDetails(); 
      ViewBag.bath = _data.Bathroom(); 
      ViewBag.twowheel = _data.twowheeler(); 
      ViewBag.fourwheel = _data.fourwheeler(); 
      ViewBag.dir = _data.Direction(); 
      ViewBag.floor = _data.Flooring(); 
      ViewBag.water = _data.WaterSupplies(); 
      ViewBag.furnish = _data.Furnishes(); 
      ViewBag.Amenities = new SelectList(db.Amenities, "AmenitiesId", "Amenitie"); 
     } 
     catch (Exception ex) 
     { 
      Console.Write(ex.InnerException.StackTrace.ToString()); 
     } 



     if (property == null) 
     { 
      return HttpNotFound(); 
     } 
     return View(property); 
    }`  

<div class="form-box-left"> 
        <h5>* Select The City :</h5> 
       @Html.DropDownList("CityId", null, "Select City", new { @class = "text-box", Id = "City" }) 
        @Html.ValidationMessageFor(model => model.CityId) 
        <h5>* Locality :</h5> 

相同的代碼,但不在編輯頁面上。我改變了我的代碼,但仍未提交數據。雖然時間過得還可以。具有關鍵的ViewData的項目「CityId」的類型「System.Int32」的,但必須是類型「的IEnumerable <SelectListItem>」我使用的創建頁面及其工作有

+0

我們可以看到編輯和創建操作方法的控制器代碼嗎? – JTMon 2014-09-02 12:35:59

回答

0

您傳遞null作爲Html.DropDownList的元素。在這種情況下,引擎從ViewData字典中的「CityId」的鍵下選取元素。我假設有一個Int32類型的對象(即ViewData [「CityId」])。這是默認行爲。

+0

但是ho wis它爲創建頁面工作呢? – 2014-09-02 11:47:51

1

下面的代碼是使用空的DropDownList的例子:

@Html.DropDownList("CityId", Enumerable.Empty<SelectListItem>(), "Select City", new { @class = "text-box", Id = "City" }) 

來填充相關數據,你可以使用ViewBag發送數據一個DropDownList。

例子:

首先,你需要到市瘡列表分爲ViewBag.City

ViewBag.City = new SelectList(cityList, value, text, selectedCity) 

然後你可以使用ViewBag.City到DropDownList。

@Html.DropDownList("CityId", ViewBag.City as SelectList, "Select City", new { @class = "text-box", Id = "City" }) 
+0

這樣就不會爲編輯頁面選擇城市。它甚至沒有選擇城市名單。 – 2014-09-02 11:45:30

+0

我想要一個特定的城市被選中,除了填充城市列表。這樣我就能夠獲得城市的名單。 – 2014-09-02 12:33:50

+0

@Smokingmonkey,選定的值將是屬性'CityId'的值,所以如果您在模型中設置了值「CityId = 5」,並且您有一個值爲5的'SlectListItem',那麼它將被選中。 – 2014-09-04 10:20:11

相關問題