2009-09-25 32 views
2

好吧,我有以下代碼的SelectList下拉框

#region getDurationListDD 
    private List<KeyValuePair<int, int>> getDurationListDD 
    { 
     get 
     { 
      List<KeyValuePair<int, int>> dDur = new List<KeyValuePair<int, int>>(); 
      dDur.Add(new KeyValuePair<int, int>(2, 2)); 
      dDur.Add(new KeyValuePair<int, int>(3, 3)); 
      dDur.Add(new KeyValuePair<int, int>(4, 4)); 
      dDur.Add(new KeyValuePair<int, int>(7, 7)); 
      dDur.Add(new KeyValuePair<int, int>(14, 14)); 
      dDur.Add(new KeyValuePair<int, int>(21, 21)); 

      return dDur; 
     } 
    } 
    #endregion 

然後在主要的ActionResult以下...

ViewData["changeDuration"] = new SelectList(getDurationListDD, "Key", "Value", Duration); 

此視圖上

Html.DropDownList("changeduration", (SelectList)ViewData["changeDuration"]) 

現在如果持續時間被設置(即int持續時間= 7;),那麼我預計會選擇7,但由於某種原因,它不是。我放棄嘗試並做更有成效的事情之前有什麼提示?

Ta

回答

3

只是修好了。

更改:

Html.DropDownList("changeduration", (SelectList)ViewData["changeDuration"]) 

要:

Html.DropDownList("cduration", (SelectList)ViewData["changeDuration"]) 

問題解決了

+0

你可能有某種在你看來還是你的可視數據不明確的名稱,並通過更改爲「cduration」你消除了價值。 – 2009-09-25 19:21:32

+0

葉我猜測那個不明確的名字是使用changeDuration兩次。 – 2009-09-28 08:07:51

+0

模型名稱不能與SelectList名稱相同。看到我的DDL教程http://www.asp.net/mvc/tutorials/javascript/working-with-the-dropdownlist-box-and-jquery/using-the-dropdownlist-helper-with-aspnet-mvc和http: //blogs.msdn.com/b/rickandy/archive/2012/01/09/cascasding-dropdownlist-in-asp-net-mvc.aspx – RickAndMSFT 2012-02-14 19:24:16