我有一个名为Skill的数据库表用于生成我的模型,其中包含一个字段SkillIndex,它是一个小型(字节)索引到枚举类型SkillEnum。我想使用skillToString()
将枚举类型值映射到它们的String对应项。当我调用视图创建的索引链接时,不会解析生成的项。以下是详细信息:
PARTIAL CLASS(部分):
namespace RpgApp2.Models
{
public enum SkillEnum { Appraise, Bluff, Climb, Diplomacy, Intimidate, Jump, Perception };
[MetadataType(typeof(SkillMetaData))]
public partial class Skill
{
Utility util;
public String skillToString()
{
byte i = (byte) this.SkillIndex;
switch (i)
{
case (byte)SkillEnum.Appraise: return "Appraise";
case (byte)SkillEnum.Bluff: return "Bluff";
case (byte)SkillEnum.Diplomacy: return "Diplomacy";
case (byte)SkillEnum.Climb: return "Climb";
case (byte)SkillEnum.Intimidate: return "Intimidate";
case (byte)SkillEnum.Jump: return "Jump";
case (byte)SkillEnum.Perception: return "Perception";
case (byte)SkillEnum.Ride: return "Ride";
case (byte)SkillEnum.Spellcraft: return "Spellcraft";
case (byte)SkillEnum.Survival: return "Survival";
default: return "No matching skill for " + (int)i;
}
查看源代码(Index.cshtml,partial):
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.CharacterIndex)
</td>
<td>
<% item.SkillToString(); %>
</td>
<td>
@Html.DisplayFor(modelItem => item.Ranks)
</td>
OUTPUT SOURCE(即查看Internet Explorer中生成的页面源:
<tr>
<td>
1
</td>
<td>
<% item.SkillToString(); %>
</td>
<td>
1
</td>
<td>
3
</td>
<% item.SkillToString(); %>
呈现为自身并在网页中显示为空白,而我想要&#34;外交&#34;显示值为3。
在当前项目(即技能)上调用方法skillToString()
方法需要什么?
答案 0 :(得分:1)
由于您使用的是Razor视图引擎,因此可以使用:
@item.SkillToString()