代码之家  ›  专栏  ›  技术社区  ›  Chris Barry

如何将视图asp.net mvc中的int选项键转换为字符串值#

  •  0
  • Chris Barry  · 技术社区  · 14 年前

    我有一个视图,可以在上面显示一些下拉列表。这些都是从IDictionary构建的。

    我已经做得很好了(因为我的字典是从0开始的),但是不太管用。

    <%= Html.Encode(Chart.TypeDictionary.ElementAt(Model.iType)) %>
    

    这个返回这个

    [Public, 0]
    

    大概我可以只得到左边的值?

    我以前用过枚举,但显然不能有空格。

    1 回复  |  直到 14 年前
        1
  •  1
  •   StriplingWarrior    14 年前

    这不管用吗?

    <%= Html.Encode(Chart.TypeDictionary.ElementAt(Model.iType)).Key %>
    

    编辑

    没有更多的背景,我不能给你一个明确的答案,我认为什么是最好的方式去做这件事。当我显示一个下拉列表时,我通常会将视图模型中的选项存储在一个可以轻松创建下拉列表的表单中。例如:

    <%=Html.DropDownList("chartType", 
                         Model.ChartTypes.Select(
                             ct => new SelectListItem
                                   {
                                       Selected = Model.iType == ct.Value,
                                       Value = ct.Value,
                                       Text = ct.Name
                                   })%>