我需要在asp.net webform中显示Hijri日历。为此,我尝试使用以下代码,实际上是在VB版本http://findanycode.com/54laAAnmwlGw/how-to-display-arabic-dates-in-the-gregorian-calendar.html
我将此代码转换为C#,但它没有编译
它让我对Foreach循环表示厌恶,声明查询正文必须以select子句结束
CultureInfo ci = CultureInfo.CreateSpecificCulture(" ar-SA");
Response.Write("<table width=300px>");
foreach (CultureInfo ci in (from c in CultureInfo.GetCultures(CultureTypes.AllCultures) orderby c.Name where c.Name.StartsWith("ar-ae")))
{
Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo(ci.Name);
Thread.CurrentThread.CurrentUICulture = new CultureInfo(ci.Name);
Response.Write(string.Format("<tr><td>{0}</td> <td style='direction:rtl;font-size:20px;'>{1:d MMMM yyyy}</td></tr>", ci.Name, Today));
}
Response.Write("</table>");
Response.End();
答案 0 :(得分:1)
错误本身告诉您在过滤数据后必须选择一些内容,因此您的linq查询应该是
from c in CultureInfo.GetCultures(CultureTypes.AllCultures) orderby c.Name where c.Name.StartsWith("ar-AE") select c;
您也可以使用下面提到的查询
CultureInfo.GetCultures(CultureTypes.AllCultures).Where(p => p.Name.StartsWith("ar-AE")).OrderBy(q => q.Name);
您使用了ar-ae
它应该是ae-AE