C# 在创建<;li>;时使用显示(名称);
我正试图本地化一个开源项目,但我被枚举字符串卡住了 我的Enum.cs是C# 在创建<;li>;时使用显示(名称);,c#,asp.net,asp.net-mvc,razor,enums,C#,Asp.net,Asp.net Mvc,Razor,Enums,我正试图本地化一个开源项目,但我被枚举字符串卡住了 我的Enum.cs是 using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Reflection; using System.Web; namespace TestSite.Domain.Models { public enum
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Reflection;
using System.Web;
namespace TestSite.Domain.Models
{
public enum SortSpan
{
/// <summary>
/// Default value
/// </summary>
[Display(Name = "Hepsi")]
All = 0,
/// <summary>
/// Span aralığını 1 saate indirger
/// </summary>
[Display(Name = "Saat")]
Hour,
/// <summary>
/// Span aralığını 1 güne indirger
/// </summary>
[Display(Name = "Gün")]
Day,
/// <summary>
/// Span aralığını 1 haftaya indirger
/// </summary>
[Display(Name = "Hafta")]
Week,
/// <summary>
/// Span aralığını 1 aya indirger
/// </summary>
[Display(Name = "Ay")]
Month,
/// <summary>
/// Limits search span to ~90 days
/// </summary>
[Display(Name = "Mevsim")]
Quarter,
/// <summary>
/// Limits search span to 1 year
/// </summary>
[Display(Name = "Yıl")]
Year
}
}
使用系统;
使用System.Collections.Generic;
使用System.ComponentModel.DataAnnotations;
使用System.Linq;
运用系统反思;
使用System.Web;
命名空间TestSite.Domain.Models
{
公共枚举排序集
{
///
///默认值
///
[显示(Name=“Hepsi”)]
全部=0,
///
///跨越阿拉伯半岛
///
[显示(Name=“Saat”)]
小时,
///
///斯潘阿拉尔ıını1 güne Indiger
///
[显示(Name=“Gün”)]
白天
///
///跨越阿拉尔哈夫塔亚-因迪格尔
///
[显示(Name=“Hafta”)]
周,
///
///跨越咸水河
///
[显示(Name=“Ay”)]
月,
///
///将搜索范围限制为约90天
///
[显示(Name=“Mevsim”)]
一刻钟
///
///将搜索范围限制为1年
///
[显示(Name=“Yıl”)]
年
}
}
我为enum SortSpan上的每个字符串提供[Display(Name=“…”)]。
但在视图中,它总是看到字符串名而不是DisplayName
这里是风景
@*Top Sort Span Buttons*@
@if (Model.Context != null && Model.Sort == TestSite.Domain.Models.SortAlgorithm.Top)
{
<div>
<ul class="tabmenu submenu">
@{
var spans = new SortSpan[] { SortSpan.Day, SortSpan.Week, SortSpan.Month, SortSpan.Quarter, SortSpan.Year, SortSpan.All };
foreach (var span in spans)
{
<li class='@(Model.Span.HasValue && Model.Span.Value == span ? "selected" : "disabled")'>
@Html.RouteLink(span.ToString(), Model.Submissions.RouteName, new { sort = (Model.Sort == null ? "" : Model.Sort.ToString().ToLower()), span = span.ToString().ToLower() })
</li>
}
}
</ul>
</div>
}
@*顶部排序范围按钮*@
@if(Model.Context!=null&&Model.Sort==TestSite.Domain.Models.SortAlgorithm.Top)
{
@if(Model.Submissions.HasPreviousPage)
{
-
@Html.RouteLink(“
}
@if(模型提交。下一页)
{
-
@using Voat.Domain.Models
@model Voat.Models.ViewModels.SubmissionListViewModel
@{
ViewBag.Title = Model.Title;
ViewBag.Description = Model.Description;
int counter = 0;
}
@section PageHeader {
@if (Model.IsActualSubverse)
{
@Html.Partial("_SubverseStylesheetLink", Model.Context.Name, new ViewDataDictionary())
}
}
<style type="text/css">
body > .content .link .rank {
width: 3.2ex;
}
</style>
<div id="container">
@if (Model.IsActualSubverse)
{
@Html.Action("SidebarForSelectedSubverse", "Subverses", new { selectedSubverse = Model.Context.Name })
}
else if (Model.Context != null && Model.Context.Type == Voat.Domain.Models.DomainType.Set)
{
@Html.Action("Sidebar", "Set", new { name = Model.Context.FullName })
}
else
{
@Html.Partial("~/Views/Shared/Sidebars/_SidebarFrontpage.cshtml")
}
<div class="content" role="main">
@*Top Sort Span Buttons *@
@if(Model.Context != null && Model.Sort == Voat.Domain.Models.SortAlgorithm.Top)
{
<div>
<ul class="tabmenu submenu">
@{
var spans = new SortSpan[] { SortSpan.Day, SortSpan.Week, SortSpan.Month, SortSpan.Quarter, SortSpan.Year, SortSpan.All };
Type type = typeof(SortSpan);
foreach (var span in spans)
{
SortSpan sortSpan = SortSpan.All;
Type type = typeof(SortSpan);
MemberInfo[] memberInfo = type.GetMember(sortSpan.ToString());
object[] attributes = memberInfo[0].GetCustomAttributes(typeof(DisplayAttribute), false);
string name = ((DisplayAttribute)attributes[0]).Name;
<li class='@(Model.Span.HasValue && Model.Span.Value == span ? "selected" : "disabled")'>@Html.RouteLink(name, Model.Submissions.RouteName, new { sort = (Model.Sort == null ? "" : Model.Sort.ToString().ToLower()), span = name.ToLower() })</li>
}
}
</ul>
</div>
}
<div class="sitetable linklisting">
@if (Model.IsActualSubverse)
{
@Html.Action("StickiedSubmission", "Subverses", new { subverseName = Model.Context.Name })
}
else if (Model.Context == null || (Model.Context != null && Model.Context.Type != DomainType.Set))
{
@Html.Partial("~/Views/Welcome/_FirstTimeVisitorWelcome.cshtml")
@Html.Action("FeaturedSub", "Home")
@Html.Action("StickiedSubmission", "Home")
}
@if (Model.Submissions.Count <= 0)
{
Html.RenderPartial("_DefaultMessage", new ViewDataDictionary() {{"selectedSubverse", Model.Context.Name}});
}
@foreach (var submission in Model.Submissions)
{
@Html.Partial("~/Views/Shared/Submissions/_Submission.cshtml", submission, new ViewDataDictionary() { { "CssClass", new string[] { counter % 2 == 0 ? "even" : "odd" } } })
counter++;
}
</div>
@{
Model.Submissions.RouteData = Request.RequestContext.RouteData.Values;
if (Model.Sort != null)
{
Model.Submissions.RouteData["sort"] = Model.Sort.ToString().ToLower();
}
if (Model.Span != null)
{
Model.Submissions.RouteData["span"] = Model.Span.ToString().ToLower();
}
if (!String.IsNullOrEmpty(Request.QueryString["frontpage"]))
{
Model.Submissions.RouteData["frontpage"] = Request.QueryString["frontpage"];
}
}
@Html.DisplayFor(model => Model.Submissions, "IPaginatedList")
@*<div class="pagination-container">
<ul>
@if (Model.Submissions.HasPreviousPage)
{
<li class="btn-whoaverse-paging">
@Html.RouteLink("< prev", Model.Submissions.RouteName, new {
page = (Model.Submissions.PageIndex - 1),
sort = (Model.Sort == null ? "" : Model.Sort.ToString().ToLower()),
time = (Model.Span == null ? "" : Model.Span.ToString().ToLower()),
frontpage = Request.QueryString["frontpage"]
}, new {rel = "prev"})
</li>
}
@if (Model.Submissions.HasNextPage)
{
<li class="btn-whoaverse-paging">
@Html.RouteLink("next >", Model.Submissions.RouteName, new {
page = (Model.Submissions.PageIndex + 1),
sort = (Model.Sort == null ? "" : Model.Sort.ToString().ToLower()),
time = (Model.Span == null ? "" : Model.Span.ToString().ToLower()),
frontpage = Request.QueryString["frontpage"]
}, new { rel = "next" })
</li>
}
</ul>
</div>*@
@if (!Model.IsActualSubverse)
{
<div>
<a href="/random">rastgele evren getir</a> veya <a href="/randomnsfw">rastgele NSFW evren getir </a>
</div>
}
</div>
</div>
<ul class="tabmenu submenu">
@{
foreach (SelectListItem span in EnumHelper.GetSelectList(typeof(SortSpan)))
{
<li class='@(Model.Span.HasValue && Model.Span.Value.ToString() == span.Value ? "selected" : "disabled")'>
@Html.RouteLink(span.Text, Model.Submissions.RouteName, new { sort = (Model.Sort == null ? "" : Model.Sort.ToString().ToLower()), span = span.Text.ToLower() })
</li>
}
}
</ul>
SortSpan sortSpan = SortSpan.All;
Type type = typeof(SortSpan);
MemberInfo[] memberInfo = type.GetMember(sortSpan.ToString());
object[] attributes = memberInfo[0].GetCustomAttributes(typeof(DisplayAttribute), false);
string name = ((DisplayAttribute)attributes[0]).Name;
@*Top Sort Span Buttons *@
@if(Model.Context != null && Model.Sort == TestSite.Domain.Models.SortAlgorithm.Top)
{
< div >
< ul class="tabmenu submenu">
@{
var spans = new SortSpan[] { SortSpan.Day, SortSpan.Week, SortSpan.Month, SortSpan.Quarter, SortSpan.Year, SortSpan.All };
Type type = typeof(SortSpan);
foreach (var span in spans)
{
MemberInfo[] memberInfo = type.GetMember(span.ToString());
object[] attributes = memberInfo[0].GetCustomAttributes(typeof(DisplayAttribute), false);
string name = ((DisplayAttribute)attributes[0]).Name;
<li class='@(Model.Span.HasValue && Model.Span.Value == span ? "selected" : "disabled")'>@Html.RouteLink(name, Model.Submissions.RouteName, new { sort = (Model.Sort == null ? "" : Model.Sort.ToString().ToLower()), span = name.ToLower() })</li>
}
}
</ul>
</div>
}
}
@if(Model.IsActualSubverse)
{
@Action(“StickiedSubmission”,“Subversies”,新的{subversisename=Model.Context.Name})
}
else if(Model.Context==null | |(Model.Context!=null&&Model.Context.Type!=DomainType.Set))
{
@Html.Partial(“~/Views/Welcome/\u FirstTimeVisitorWelcome.cshtml”)
@动作(“FeatureSub”、“Home”)
@动作(“胶粘子任务”、“主任务”)
}
@if(Model.Submissions.Count Model.Submissions,“IPaginatedList”)
@*