【问题标题】:How to retain spaces in DropDownList - ASP.net MVC Razor views如何在 DropDownList 中保留空格 - ASP.net MVC Razor 视图
【发布时间】:2011-08-15 06:46:03
【问题描述】:

我在视图中通过以下方式绑定我的模型:

<%=Html.DropDownList("SelectedItem",new SelectList(Model.MyItems,"ItemId","ItemName")) %>

问题是我的项目文本是格式化文本,单词之间有空格,如下所示。

#123  First          $234.00
#123  AnotherItem    $234.00
#123  Second         $234.00

即使在将它们添加到 DropDownList 之后,我也想保留此项文本中的空格。但不幸的是,我的 DropDownList 显示它们时没有空格,如下所示:

#123 First $234.00
#123 AnotherItem $234.00
#123 Second $234.00

当我查看页面的源代码时,这些空间是完整的,但在显示时却不是。我尝试添加 '&amp;nbsp;' 而不是空格,但 SelectList(MVC 框架类)内部方法在将它们添加为下拉列表中的项目之前使用 HtmlEncode。

有什么方法可以实现吗?

【问题讨论】:

    标签: c# asp.net-mvc asp.net-mvc-3 drop-down-menu razor


    【解决方案1】:

    html中的nbsp对应C#字符串的“\xA0”,所以用这个代替空格,HTML编码时会产生nbsp

    【讨论】:

    • 太棒了。它就像一个魅力。我希望我能给 100 票:)
    • 感谢您的精彩提示,我不知道这个。
    • 我遗漏了一些东西,我将 \xA0 添加为数据库的输出,但在选择列表中我没有看到空格,而是 "\xA0".. ?
    • 如果您使用的是 CSHTML,它默认对字符串进行编码,这与 ASPX 不同。您可能需要使用@Html.Raw
    • 我遇到了同样的问题,但我无法让它工作。我的页面是 CSHTML,我连接的方式是通过 string.Format({0,-15} | {1}, text1, text2);
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-18
    • 1970-01-01
    • 1970-01-01
    • 2010-12-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多