我有 2 个简单的 xml 文件来向网站 MVC4 提供新闻报道。我有一个英语和一个格鲁吉亚语
例子
<ITEM id="7" Title="English"
Content="English Content"
dt ="02/11/2013">
</ITEM>
<ITEM id="7" Title="ქართული"
Content="ქართული შინაარსი"
dt ="02/11/2013">
</ITEM>
我创建了一个模型来将数据放入并注意我在这里设置了日期格式:
public class NewsModel
{
public Int32 id { get; set; }
public String Title { get; set; }
public String Content { get; set; }
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
public DateTime DT { get; set; }
}
我有一个 ViewModel,它提供了一个列表并确定我需要哪种语言:
public NewsListModel()
{
try
{
String cultureStr = HttpContext.Current.Session["Culture"].ToString();
if (cultureStr == "en-GB" || cultureStr == "en-US")
{
xmlurl = "http://localhost:1703/News/NewsENG.xml";
}
else
{
xmlurl = "http://localhost:1703/News/NewsGEO.xml";
}
}
catch
{
xmlurl = "http://localhost:1703/News/NewsGEO.xml";
}
_newslist = new ObservableCollection<NewsModel>();
XmlDocument doc = new XmlDocument();
doc.Load(xmlurl);
XmlNode ItemListNode = doc.SelectSingleNode("ITEMS");
XmlNodeList ItemNodes = ItemListNode.SelectNodes("ITEM");
foreach (XmlNode i in ItemNodes)
{
NewsModel n = new NewsModel();
n.id = Convert.ToInt32(i.Attributes.GetNamedItem("id").Value);
n.Title = i.Attributes.GetNamedItem("Title").Value.ToString();
n.Content = i.Attributes.GetNamedItem("Content").Value.ToString();
n.DT = Convert.ToDateTime(i.Attributes.GetNamedItem("dt").Value);
_newslist.Add(n);
}
}
然后我在页面中显示:
@itm.DT.Date.ToShortDateString()
我的问题是我的日期格式因使用的语言而异,即
删除 .ToShortDateString() 具有相同的分隔符问题并显示时间。
我已经看过很多次了。我似乎对每个文件都做同样的事情。有没有人有类似的经历和/或解决方案,以便两种日期格式以“/”作为分隔符显示相同。
先感谢您。