【发布时间】:2011-04-28 17:29:12
【问题描述】:
我正在使用RadioButtonFor 来显示可选项目列表。它是我正在使用的向导的一部分,向导的最后一步是用户确认提交的摘要。除了RadioButtonFor,我一切正常。我的摘要包含一些非常基本的内容,显示了用户输入的内容。
例子:
...
<div>Summary</div>
<div>Please confirm the information you are submitting.</div>
<div>First Name: @Model.FirstName</div>
...
我的模型的相关部分:
public CategoryList Category { get; set; }
public enum CategoryList
{
Category1
Category2
Category3
}
我页面的相关部分(带有 RadioButtonFor 的向导步骤):
...
@Html.LabelFor(m => m.Category, new { @class = "CLASS" })
@Html.ValidationMessageFor(m => m.Category)
<div>
@Html.RadioButtonFor(m => m.Category, "Category1")
<span>NEW!</span>Category 1. This Category is for BLAH BLAH BLAH ...
@Html.RadioButtonFor(m => m.Category, "Category2")
Category 2. This Category is for BLAH BLAH BLAH ...
@Html.RadioButtonFor(m => m.Category, "Category3")
Category 3. This Category is for BLAH BLAH BLAH ...
</div>
...
我页面的相关部分(包含 RadiouButtonFor 的向导摘要步骤):
<div>@Model.Category</div>
上面只是在类别列表中显示实际名称,如果用户选择类别 1,则说“类别 1”,所以我知道我的枚举工作正常。但是,我希望描述更具描述性。假设我想让 Category1 说“Category 1。这个类别是给 BLAH BLAH BLAH 的”,并且可能会在“Category 1”周围加上一个。使其显示为红色。我在枚举中使用的实际名称是三个单词,并且包含两个下划线,因此在其中包含“Word1_Word2_Word3”不太友好,这是摘要中显示的内容。
更准确地说,如果您查看上面包含RadioButtonFor 的页面的相关部分,我会包含在 UI 上显示给用户的单选按钮的文本。那里出现的文字就是我想在摘要中出现的文字。
我尝试使用以下方法:
<div>@Model.Category.CategoryList</div>
但它会引发错误(...不包含“CategoryList”的定义并且没有扩展方法“CategoryList”接受类型的第一个参数...可以找到(您是否缺少 using 指令或程序集引用")。我在 googlenet 上花了几个小时,但找不到任何东西(很可能是因为我没有制定好的搜索条件)。
有什么想法吗?这可能吗,或者我可以做些什么来实现我正在寻找的东西?
再次感谢任何帮助,如果以其他方式重新提问违反政策,我们深表歉意。
【问题讨论】:
-
删除并重新提出一个表述不当的问题并没有错。但是,您的问题仍然不清楚。
-
不确定你的意思。我基本上是在尝试显示带有用户输入的摘要页面。如果用户选择 RadioButton 1,并且我使用的是 ENUM,它只会在 ENUM 中显示名称。我希望它显示我为选择的任何 RadioButton 描述的文本,而不是 ENUM 中的文本。抱歉,如果不太清楚。
标签: asp.net-mvc-3 enums razor radiobuttonfor