部署后jQuery UI Datepicker未发布到服务器

时间:2011-05-24 17:40:56

标签: asp.net-mvc-3 jquery-ui-datepicker form-data

所以我发布了一个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();
});

1 个答案:

答案 0 :(得分:0)

检查服务器上的datepicker版本是否是最新的并且正在运行无bug。在发布之前,请仔细检查您的表单数据 - 确保日期字段具有值:

$(document).ready(function () {

  $("form").submit(function(){
    $(".datepicker").each(function(){
      alert( $(this).attr("name") +": "+ $(this).value() );
    });
  });

});