私はそれをチェックした後、月と年のみを表示する入力フィールドの値を変更するチェックボックスオプションがあります。その場合、チェックボックスは選択されません。ユーザが入力をクリックし、datepickerが日付(月/年)を選択するオプションを与えます。最初のオプションを使用すると、値が正しくポストされず、2番目のオプションが正しくポストされません。私が間違っていることは何ですか?私は(これまでの年)をチェックして、値を投稿する場合jqueryで値を設定し、データがサブミットされたときにViewModelへのバインディングを削除します。
日にチェックを外す年、代わりに入力に
をクリックすると、さてたstartDateエンドendDateにはnull値を持っています。続くよう
私のコントローラがある
[HttpPost, ValidateAntiForgeryToken]
public ActionResult Index(ManualRecViewModel vm)
私のViewModelには、フィールドたstartDateがあり、終了日
public class ManualRecViewModel
{
public DateTime? startDate { get; set; }
public DateTime? endDate { get; set; }
}
と私の見解は、私はに値を設定するJSを持って
<div class="input-group">
<div>
@Html.CheckBox("year-to-date", false)
@Html.Label("Year to Date")
</div>
<div class="dates-filters">
<div>
@Html.Label("From:")
</div>
<div>
@Html.TextBoxFor(m => m.startDate, new { @readonly = "readonly" })
</div>
<div>
@Html.Label("To:")
</div>
<div>
@Html.TextBoxFor(m => m.endDate, new { @readonly = "readonly" })
</div>
</div>
</div>
です入力は
var date = new Date();
var year = date.getFullYear();
var month = date.getMonth();
$("#startDate").datepicker('setDate', new Date(year, 0, 1));
$("#endDate").datepicker('setDate', new Date(year, month, 1));
のために変更する値をフィールド起こさないので、私はあなたが検査しようとしたことがあり、前にこの問題を持っていたと
$.trigger("change")
方法を使用することが必要であることがわかりましたあなたのコントローラに渡された値は、JSを使っていますか?最終的な日付の値が無効で、モデルのバインディングの問題が発生する可能性があります。 – G0dsquad私はjsで値を掲示していません、入力は送信ボタン付きのフォームの中にあります – Heinrich
あなたの 'CultureInfo'とは何ですか? – Shyju