2011-10-31 10 views
0

は私が3つの会議のスケジュールを受け入れる必要がこのシナリオを持って失敗し、以下の詳細バインディングリストは、

会議のスケジュールモデル

public class MeetingSchedule 
{ 
    public DateTime Date { get; set; } 

} 

フォームルックスがあります以下のような

<form action="@Url.Action("Schedule")" method="post" > 
    <input type="text" name="meetingSchedules[1].Date" id="schedule2" class="datepicker" /> 
    <input type="text" name="meetingSchedules[2].Date" id="schedule3" class="datepicker" /> 
</form> 

とアクション

[HttpPost] 
public ActionResult Schedule(List<MeetingSchedule> meetingSchedules) 
    {} 

私はまだ元、フォーマット「DD/MM/YYYY」の日付をバインドできませんでした文化に

<system.web>  
    <globalization uiCulture="en-GB" culture="en-GB" /> 
</system.web> 

を設定します。私は26/10/2011としていずれかの日付を選択した場合、モデルバインダーはバインドできませんでした。代わりに、デフォルトのDateTime値を表示します。

この

おかげ

答えて

2

で私を助けてください、私は同じ問題に遭遇し、問題がコードであるがわかりました。

アクションを単純な方法と考える場合、アクションメソッドが呼び出されるとモデルバインダーが起動します。これ以前にカルチャ情報が設定されていれば、すべて設定されます。コンストラクタで

は、次のコードを追加します

System.Threading.Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("en-GB"); 

今すぐに再度お試しを、モデルバインダーは現在、DD/MM/yyyyの形式で日付を認識することができるはずです。

関連する問題