【问题标题】:Dropdown list tabulated C# mvc4下拉列表列表 C# mvc4
【发布时间】:2013-03-29 04:34:49
【问题描述】:

我想在“下拉列表”中显示我的数据,让我解释一下。

如果数据是这样的:

Potato - 1.00
Egg - 2.50
Avocado - 3.00

我想这样呈现:

Potato  - 1.00
Egg     - 2.50
Avocado - 3.00

我怎样才能像这样格式化下拉菜单?

让我试着让我的问题更容易理解:

我只需要像在 dropdonw 中显示的那样组织数据,使 - 成为两个事物的分隔符,vegetablevalue,但我想把这个字符放在最大的末尾命名项目并在此时对齐另一个-,以像表格数据一样向用户显示。

【问题讨论】:

  • 请仔细考虑您的要求。这个问题没有什么意义。
  • table 元素是专门为表格数据设计的(因此得名表)。如果您使用“添加视图”对话框创建新视图并选择索引作为脚手架,它将使用表格。

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


【解决方案1】:

由于这是一个下拉菜单,因此您需要使用如下技术格式化字符串: Format a string into columns

string.Format( "{0,-10} - {1,-10}", item.Name, item.Price)

您可能还需要.Replace(" ", " "),因为 HTML 通常会忽略重复的空格,但下拉菜单中可能会出现这种情况,也可能不会。

请注意,您可以通过找到最长的项目并加 1 来计算每列的宽度,因此如果最长的 Name.Length 为 5,则

string.Format( "{0,-" + longestNameLength + "} - {1,-5}"

如果您知道它始终是两位数的价格,则可能是 -5。

【讨论】:

  • 我之前试过放“&nbsp”,但在我的屏幕上我没有空格,我得到的是字符串“&nbsp”而不是空格:(
  • 首先,不要忘记分号, ,其次,您可能需要自己编写 HTML 而不是使用 MVC 助手。大多数 MVC 助手将转义特殊字符,如 &。看看工作正常:jsfiddle.net/rZFse
  • 另外,您需要使用“固定宽度”字体,因为其他字体,如“i”之类的字母比“o”更窄,并且会偏离对齐方式。
猜你喜欢
  • 1970-01-01
  • 2013-05-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多