Asp.net mvc 定义从数据库检索的整数值
在我的数据库中,我使用的数据格式为1表示男性,2表示女性,3表示未定义的性别。如何在我的视图中分配这些值,即1个显示为男性,2个显示为女性,3个显示为未定义?可以从sql代码执行此操作,但如何从视图或控制器执行此操作 我还想突出显示未定义性别的行。我该怎么做 控制器块Asp.net mvc 定义从数据库检索的整数值,asp.net-mvc,asp.net-mvc-4,Asp.net Mvc,Asp.net Mvc 4,在我的数据库中,我使用的数据格式为1表示男性,2表示女性,3表示未定义的性别。如何在我的视图中分配这些值,即1个显示为男性,2个显示为女性,3个显示为未定义?可以从sql代码执行此操作,但如何从视图或控制器执行此操作 我还想突出显示未定义性别的行。我该怎么做 控制器块 public ActionResult Display() { return View(db.P_GET_USER().ToList()); } 视
public ActionResult Display()
{
return View(db.P_GET_USER().ToList());
}
视图块
@model IEnumerable<final.Models.P_GET_USER_Result>
@{
ViewBag.Title = "Display";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>Display</h2>
<p>
@Html.ActionLink("Create New", "Create")
</p>
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model.USERNAME)
</th>
<th>
@Html.DisplayNameFor(model => model.NAME)
</th>
<th>
@Html.DisplayNameFor(model => model.GENDER)
</th>
<th>
@Html.DisplayNameFor(model => model.STATUS)
</th>
<th>
@Html.DisplayNameFor(model => model.CREATED_DATE)
</th>
<th></th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.USERNAME)
</td>
<td>
@Html.DisplayFor(modelItem => item.NAME)
</td>
<td>
@Html.DisplayFor(modelItem => item.GENDER)
</td>
<td>
@Html.DisplayFor(modelItem => item.STATUS)
</td>
<td>
@Html.DisplayFor(modelItem => item.CREATED_DATE)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id=item.Id }) |
@Html.ActionLink("Details", "Details", new { id=item.Id }) |
@Html.ActionLink("Delete", "Delete", new { id=item.Id })
</td>
</tr>
}
</table>
@model IEnumerable
@{
ViewBag.Title=“显示”;
Layout=“~/Views/Shared/_Layout.cshtml”;
}
展示
@ActionLink(“新建”、“创建”)
@DisplayNameFor(model=>model.USERNAME)
@DisplayNameFor(model=>model.NAME)
@DisplayNameFor(model=>model.GENDER)
@DisplayNameFor(model=>model.STATUS)
@DisplayNameFor(model=>model.CREATED\u日期)
@foreach(模型中的var项目){
@DisplayFor(modelItem=>item.USERNAME)
@DisplayFor(modelItem=>item.NAME)
@DisplayFor(modeleItem=>item.GENDER)
@DisplayFor(modelItem=>item.STATUS)
@DisplayFor(modelItem=>item.CREATED\u日期)
@ActionLink(“编辑”,“编辑”,新的{id=item.id})|
@ActionLink(“详细信息”,“详细信息”,新的{id=item.id})|
@ActionLink(“删除”,“删除”,新的{id=item.id})
}
一种快速脏方法是将条件代码放在您的视图中。另一种方法是在视图中添加帮助器方法:
@helper GetGender(int gender)
{
string genderText = "";
switch (gender)
{
case 1:
genderText = "Male";
break;
case 2:
genderText = "Female";
case 3:
genderText = "Undefined";
break;
default;
break;
return genderText;
}
}
然后像这样使用它:
<td>
@GetGender(item.Gender)
</td>
@GetGender(项目.性别)
更好的做法是将其移动到某个公共位置,并在需要的每个视图中重用它
比上述更好的方法是使用一个视图模型,该模型根据视图中的
Gender
属性值返回受尊重的文本,并且该视图将使用该视图模型进行强类型输入,并且只显示它。感谢您的回答。但是,请你能给我举一些这样做的例子吗。我是MVC框架的新手。如何重用视图?在视图中的何处放置该辅助对象?我犯了一个错误。请您保留查看此帮助程序块的全部代码。谢谢你@user4221591这可能会有所帮助:使用代码返回genderText代码>获取错误检测到无法访问的代码
。请帮忙!!!