所以我发布了一个ASP.Net MVC3项目,该项目使用jQuery UI datepickers到IIS服务器上。日期选择器似乎没有发布它们的值并在后端恢复为默认值。
在本地,虽然它像魅力一样。这是简单的jQuery,在datepicker上没有任何选项。
有关为何会发生这种情况的任何线索?
让我知道我可以发布什么来帮助找到解决方案。
谢谢!
我试图发布的模型:
public class Report
{
[Required]
[DisplayFormat(DataFormatString = "{0:d}", ApplyFormatInEditMode = true)]
public DateTime From { get; set; }
[Required]
[DisplayFormat(DataFormatString = "{0:d}", ApplyFormatInEditMode = true)]
public DateTime To { get; set; }
public virtual Car Car { get; set; }
public virtual IEnumerable<Review> Reviews { get; set; }
}
我正在使用的表单:
@model Cars.Models.Report
<h3>Create a report</h3>
@using (Html.BeginForm("Generate", "Report"))
{
<div>
<div class="span-5">
<div class="editor-label">
@Html.LabelFor(model => model.From)
</div>
<div class="editor-field">
@Html.TextBoxFor(model => model.From, new { @class = "datepicker lilbig" })
</div>
</div>
<div class="span-5 last">
<div class="editor-label">
@Html.LabelFor(model => model.To)
</div>
<div class="editor-field">
@Html.TextBoxFor(model => model.To, new { @class = "datepicker lilbig" })
</div>
</div>
<div class="span-11 last">
<div class="prepend-5 last">
<input class="bigbtn" type="submit" value="Create" />
</div>
<div>
@Html.ValidationSummary(true)
@Html.ValidationMessageFor(model => model.From)
@Html.ValidationMessageFor(model => model.To)
</div>
</div>
</div>
}
我发布到的方法:
[HttpPost]
public ActionResult Generate(Report model)
{
try
{
MembershipUser currentUser = Membership.GetUser(HttpContext.User.Identity.Name);
Guid id = (Guid)currentUser.ProviderUserKey;
Car currentCar = CarRepository.Get(id);
currentCar.LastReportCreated = DateTime.Now;
currentCar = CarRepository.Update(currentCar, true);
model.Car = currentCar;
model.Reviews = model.Car.Reviews.Where(s => s.LoggedAt.Date >= model.From.Date &&
s.LoggedAt.Date <= model.To.Date);
return View("Report", model);
}
catch(Exception ex)
{
return View("Error");
}
}
jQuery看起来像这样:
$(document).ready(function () {
$(".datepicker").datepicker();
});
答案 0 :(得分:0)
检查服务器上的datepicker版本是否是最新的并且正在运行无bug。在发布之前,请仔细检查您的表单数据 - 确保日期字段具有值:
$(document).ready(function () {
$("form").submit(function(){
$(".datepicker").each(function(){
alert( $(this).attr("name") +": "+ $(this).value() );
});
});
});