【问题标题】:Is there a way to display an int property as text in the ui?有没有办法在 ui 中将 int 属性显示为文本?
【发布时间】:2011-07-31 02:17:15
【问题描述】:

我不确定这是否可能,或者它是否是可接受/不可接受的做法,但我的 Person 对象上有一个 int 属性 (Gender),我想知道是否有一种方法可以显示文本(和单选按钮,假设这些是最佳选项)供用户选择(即“男性”和“女性”),而不是将其显示为数字。我假设这是可能的,但我不知道从哪里开始。是否会直接在属性上进行一些自定义,也许是在服务层?我在那里的其他属性上使用“格式”和“标题”进行了一些自定义。这就是我所有的性别:

properties.Add(new PropertyData { Property = "Gender", Type = "Int32", Value = data.Gender.ToString() });

还是直接在视图中?这就是我现在所拥有的——只是一个可以输入整数的文本框。

<p class="span1">
    @Html.Label(Model.Person.Properties, "Gender")
    @Html.TextBox(Model.Person.Properties, "Gender")
    @Html.Tip(Model.Person.Properties, "Gender")
</p>

感谢任何帮助。 :) 如果我需要提供任何其他信息或代码,请告诉我。

编辑: 我使用了以下内容:

<p>
    @Html.Label(Model.Person.Properties, "Gender")
    <input type="radio" name="Gender" value="1" /><span>Male</span>
    <input type="radio" name="Gender" value="2" /><span>Female</span>
</p>

当我拉起我的 Person 进行编辑时,有没有办法让按钮保持选中状态?其他所有内容(即记录的当前数据)都会重新填充到“编辑”表单上。 (这应该是一个单独的问题吗?)

【问题讨论】:

  • 你需要将性别作为整数吗?布尔值会更好
  • OT:在形而上学的层面上,问题应该是相反的:如果不是在文本中,你将如何显示 int? (条形图、滑块、象形图计数):)
  • @user673289,我不确定将其作为整数有什么好处。这就是我被告知要创建它的方式,但我明白你的意思。

标签: c# user-interface asp.net-mvc-3 user-input


【解决方案1】:

看看这篇文章,看看是否有帮助:How to pass an enum to Html.RadioButtonFor to get a list of radio buttons in MVC 2 RC 2, C#

总之

  1. 创建一个性别枚举
  2. 使用方法读取性别名称 来自枚举
  3. 将单选按钮的值设置为 枚举的值

【讨论】:

  • 感谢您的意见。这是我从@Tejs 的第一个答案开始创建的:

    @Html.Label(Model.Person.Properties, "Gender")

    用性别枚举做吗?对我来说,只有两个选项似乎比必要的复杂......但我仍然是新手,所以也许我错过了其他东西。
  • 对不起,我忘了在上面的评论中标记你。我不确定你是否会看到它。 (我删除了这个,以为我可以编辑我的原始评论,但看起来你只能编辑你最近的评论?:/对此感到抱歉。)
  • @White Island 枚举的好处是您的代码更具可读性。哪个更容易理解,Gender = 1 还是 Gender = Female?不熟悉您的代码的人不会知道 Gender = 1 的含义。
  • 我最终使用了一个枚举和一个下拉列表,而不是单选按钮。感谢您的帮助。
【解决方案2】:

在 MVC 中,您可以完全控制您呈现的 HTML。所以你在这里有几个选择。您可以根据需要手动呈现 HTML:

<input type="radio" name="SomeName" value="1"><span>Male</span>
<!-- Etc for each item !-->

或者,您可以使用其他 HtmlHelper 之一来执行此操作:

@Html.RadioButtonFor(x => x.Person.Properties, "Male")
@Html.RadioButtonListFor (Custom)

关于如何在 MVC3 中实现自己的单选按钮列表,有更多信息 here

【讨论】:

  • 感谢您的快速回复和明确的指示。我最终使用了枚举和下拉列表,而不是单选按钮。
猜你喜欢
  • 1970-01-01
  • 2016-07-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-04
  • 2017-01-29
相关资源
最近更新 更多