2009-09-25 30 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