【发布时间】: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