Итак, я опубликовал проект ASP.Net MVC3, который использует указатели даты jQuery UI на сервере 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();
});