【发布时间】:2017-09-26 12:18:19
【问题描述】:
我遇到了与这个问题类似的问题: Jquery datepicker selected date not assigning the value
但是给出的答案几乎是无用的。
我有一个 asp.net MVC 应用程序,其中详细信息从视图中的表单发送到控制器,但在调试时这些值只是默认的 DateTime 值。
在检查时,在输入或使用 JQuery UI 日期选择器时未分配值。
使用此脚本来利用 Jquery-ui Datepicker
<script>
$(document).ready(function() {
$("#startDatePicker").datepicker();
$("#endDatePicker").datepicker();
})
</script>
这是创建表单的代码,它封装在@using (Html.BeginForm()){ }
<div class="form-group">
@Html.LabelFor(model => model.End_Date, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.End_Date, new { htmlAttributes = new { @class = "form-control", id= "endDatePicker" } })
@Html.ValidationMessageFor(model => model.End_Date, "", new { @class = "text-danger" })
</div>
</div>
即使解释为什么会发生这种情况,我们也将不胜感激
谢谢。
编辑 - 模型:
public partial class BPO
{
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
public BPO()
{
this.Order_Log = new HashSet<Order_Log>();
}
[Display(Name = "BPO")]
public string BPO_ID { get; set; }
[Display(Name = "Start Date")]
public System.DateTime Start_Date { get; set; }
[Display(Name = "End Date")]
public System.DateTime End_Date { get; set; }
[Display(Name = "In Use")]
public bool In_Use { get; set; }
[Display(Name = "Used For")]
public string Used_For { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<Order_Log> Order_Log { get; set; }
}
编辑 2 - 控制器方法:
/**
* Returns a View
*/
public ActionResult AddBPO()
{
return View(); //Returns AddBPO.cshtml
}
/**
* Adds a BPO Number to the BPO Database
* @Param pO The BPO Number passed by POST
*/
[HttpPost]
public ActionResult AddBPO(BPO pO)
{
try
{
SFI.BPOes.Add(pO); //Add pO to the BPO Table
SFI.SaveChanges(); //Save the changes to the Database
return RedirectToAction("RequestItem"); //Redirect to RequestItem
}
catch (Exception ex)
{
ViewBag.Message = ex.Message; //Set the error message to the ViewBag
return View(pO); //Return AddBPO.cshtml with the data pO
}
}
【问题讨论】:
-
展示你的模型
-
你能发布你的模型和控制器
-
数据类型为 datetime 的开始日期和结束日期都会发生这种情况
-
是的,唯一成功通过的是 BPO_ID
-
所以我看不到您在日期选择器点击事件的任何地方分配所选值的位置或您有什么。在引用的 Stack Overflow 文章中,您可以看到点击事件。
标签: c# asp.net asp.net-mvc datepicker jquery-ui-datepicker