我想做的是根據資料庫中的值(1=Open,0=Closed),在視圖中顯示 "Closed "或 "Open"。我已經在ViewModel中嘗試了這種方式。
public int Closed
{
get
{
string x = ReturnString;
int y = Int32.Parse(x);
return y;
}
set
{ }
}
public string ReturnString
{
get
{
if (Closed.ToString().Equals("1"/span>)
{
return "Closed"。
}
else (Closed.ToString().Equals("0"/span>)
{
return "Open"。
}
}
set { }
}
而這是我的觀點:
<tbody>
@foreach (var item in Model.Bdgfixmonths)
{
<td>
@Html.DisplayFor(modelItem => item.Closed)
</td>
}
</tbody>
我必須在控制器中做什么來顯示打開/關閉的值,而不是0/1?
另外,我如何在表中訪問ViewModel的變數而不是Model中的變數?
uj5u.com熱心網友回復:
為什么你不簡單地使用ENUM:
?Model:
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
使用System.Reflection。
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc.Tasks; using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
namespace WebAppTest1.Pages
{
public class DoorModel : PageModel
{
public List<Door> doors;
public void OnGet()
{
doors = new List<Door> ();
doors.Add(new Door { DoorID = 1, DoorStatus = DoorStatuses.Open }) 。
doors.Add(new Door { DoorID = 2, DoorStatus = DoorStatuses.Closed }) 。
doors.Add(new Door { DoorID = 3, DoorStatus = DoorStatuses.Open }) 。
doors.Add(new Door { DoorID = 4, DoorStatus = DoorStatuses.Closed });
}
}
public class Door
{
public int DoorID { get; set; }
public DoorStatuses DoorStatus { get; set; }
}
public enum DoorStatuses
{
[Display(Name = "Open")]
Open = 1,
[Display(Name = "Closed")]] Closed = "Closed")
關閉=0]
}
//Utility function to show ENUM 顯示值。
public static class EnumExtensions
{
public static string GetDisplayName(thisEnum enumValue)
{
return enumValue.GetType()
.GetMember(enumValue.ToString())
.First()
.GetCustomAttribute<DisplayAttribute>()
.GetName()。
}
}
}
查看:
@page
@model WebAppTest1.Pages.DoorModel
@{
ViewData["Title"] = "Door"。
}
<div class="text-center">
<h1 class="display-4">演示顯示ENUM顯示名稱</h1>。
<div">
<div class="row">
<div class="col-4"> Door ID</div>
<div class="col-4">狀態ID</div>
<div class="col-4">狀態</div>
</div>
@foreach (var door in Model.door)
{
<br />
<div class="row">
<div class="col-4">@door.DoorID< /div>
<div class="col-4"> @door.DoorStatus</div>
<div class="col-4">@door.DoorStatus.GetDisplayName()</div>
</div>
}
</div>
</div>
uj5u.com熱心網友回復:
使用if
< tbody>
@foreach (var item in Model.Bdgfixmonths)
{
if(item.Closed==1){
<td>
...
</td>
}
}
</tbody>
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/311762.html
標籤:
