我有来自MVC表单的输入日期,我希望将datetimepicker值传递给控制器,但它无法正常工作。不知道我错过了什么。
查看add.cshtml
<form id="msform" class="form-inline" method="post">
<div class="form-group">
<div class='input-group date' id="txtReviewDate">
<input type="text" class="form-control"/>
<span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
</div>
<script type="text/javascript">
$(function () {
$('txtReviewDate').datetimepicker({
format: 'MM/DD/YYYY',
defaultDate:new Date()
});
});
</script>
</form>
模型
public Nullable<DateTime> tempReviewDate
控制器代码
[HttpPost]
public ActionResult Add (calfreshByWorkUnitID customerinfo)
{
var vartempReviewDate = Convert.ToDateTime(Request["txtReviewDate"].ToString());
}
答案 0 :(得分:3)
您的输入没有name
属性,因此它不会提交值。表单仅提交其成功表单控件的名称/值对。
将视图更改为绑定到模型(请注意我假设您显示的模型名为calfreshByWorkUnitID
)
@model calfreshByWorkUnitID
....
@using (Html.BeginForm(...))
{
....
@Html.TextBoxFor(m => m.tempReviewDate, new { @class="form-control" })
脚本(将插件附加到您的输入)
$('#tempReviewDate').datetimepicker({
format: 'MM/DD/YYYY',
defaultDate:new Date()
});
然后在POST方法中,您的模型将与所选日期正确绑定
[HttpPost]
public ActionResult Add (calfreshByWorkUnitID customerinfo)
{
// customerinfo.tempReviewDate contains the selected value