2013-04-27 121 views

回答

8

我找到了解决办法

1.Go到www.amib.ir/weblog/?page_id=316和下载最新版本的 “AMIB_jsPersianCal”


2.增加 “JS-波斯cal.min.js” 和 “JS-波斯cal.css” 和 “pcal.png” 的到你的项目
您可以更改CSS指定PNG的的URL文件

3.添加CSS和JS文件到您的CSHTML文件

<link href="@Url.Content("~/Content/js-persian-cal.css")" rel="stylesheet" type="text/css" /> 
<script src="@Url.Content("~/Scripts/js-persian-cal.min.js")"></script> 


4.change你的约会文件中像

@Html.TextBoxFor(m => m.Birthdate, new { @id = "pcal1", @class = "pdate" }); 

注:我使用字符串变量生日


5.add脚本CSHTML文件

<script type="text/javascript"> 
var objCal1 = new AMIB.persianCalendar('pcal1'); </script> 
+1

年底你为什么没有标记的JavaScript? – 2013-04-29 09:12:33

+0

我想在.NET中使用波斯文化,但我无法找到解决问题的方法,因为我使用JavaScript来绕过问题 – Ahmad 2013-05-01 01:41:48

4

试试这个模板(datetime.cshtml)来显示/转换日期时间自动PerisanDate:

@* 
    Copy this file to: 
    Views\Shared\DisplayTemplates\datetime.cshtml 
*@ 

@using System.Globalization 
@model Nullable<DateTime> 

@helper ShamsiDateTime(DateTime info, string separator = "/", bool includeHourMinute = true) 
{ 
    int ym = info.Year; 
    int mm = info.Month; 
    int dm = info.Day; 
    var sss = new PersianCalendar(); 
    int ys = sss.GetYear(new DateTime(ym, mm, dm, new GregorianCalendar())); 
    int ms = sss.GetMonth(new DateTime(ym, mm, dm, new GregorianCalendar())); 
    int ds = sss.GetDayOfMonth(new DateTime(ym, mm, dm, new GregorianCalendar()));  
    if (includeHourMinute) 
    { 
     @(ys + separator + ms.ToString("00") + separator + ds.ToString("00") + " " + info.Hour + ":" + info.Minute) 
    } 
    else 
    { 
     @(ys + separator + ms.ToString("00") + separator + ds.ToString("00")) 
    } 
} 

@if (@Model.HasValue) 
{ 
    @ShamsiDateTime(@Model.Value , separator: "/", includeHourMinute: false) 
} 

此外,如果你正在寻找的波斯日期时间选择器,看看: http://www.dotnettips.info/newsarchive/details/1122

0
web.config

试试这个:

<system.web> 
    <globalization culture="fa-IR" uiCulture="fa-IR" 
    requestEncoding="utf-8" 
    responseEncoding="utf-8" /> 
</system.web>