枚举:
public enum Enumenter
{
Products = 10,
Users = 20,
Actions = 30
}
我的观点:
@model IEnumerable<ServerDB.Tables.EntityType>
@{
ViewBag.Title = "Infrastruktur";
}
<table class="table">
<tr>
<th>
<h2>Infrastruktur</h2>
</th>
<th></th>
</tr>
@foreach (var val in Enum.GetNames(typeof(ServerDB.Tables.Enum)))
{
<tr>
<td>
@Html.DisplayName((String.Format("{0}{1}", val, "2")))
</td>
<td></td>
<td>
<p>
</p>
</td>
<td></td>
</tr>
}
@foreach (var Ost in Enum.(typeof(ServerDB.Tables.Enum)))
{
@Html.DisplayName((String.Format("{0}", Ost)))
}
</table>
如何打印产品旁边的值? 我将使用枚举中的数字进行查询搜索,这样我就可以搜索任何产品、任何用户或与此相关的操作。 我不是这方面的专家,所以请温柔一点。
最佳答案
Enum.GetValues
将枚举的值作为对象返回,因此您需要将它们转换为 int
值(使用 int
而不是 var
会为你做到这一点)。之后,您可以使用 Enum.GetName
获取特定值的名称:
@foreach (int val in Enum.Values(typeof(ServerDB.Tables.Enum)))
{
var name = Enum.GetName(typeof(ServerDB.Tables.Enum), val);
<tr>
<td>
@Html.DisplayName((String.Format("{0}{1}", name, "2")))
</td>
<td>
@val
</td>
<td>
<p>
</p>
</td>
<td>
</td>
</tr>
}
还有另一种方法不使用 Enum.GetName
方法。您只需将从 Enum.Values
获取的值转换为 string
即可获取名称,转换为 int
即可获取值
@foreach (var name in Enum.Values(typeof(ServerDB.Tables.Enum)))
{
var val = (int)name;
<tr>
<td>
@Html.DisplayName((String.Format("{0}{1}", name, "2")))
</td>
<td>
@val
</td>
<td>
<p>
</p>
</td>
<td>
</td>
</tr>
}
关于c# - MVC通过@foreach打印出每个Enum值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32495288/