MVC3 C#datepicker(jquery)不适用于Ajax.BeginForm

时间:2012-09-10 22:29:42

标签: jquery asp.net-mvc-3 datepicker ajax.beginform

我正在开发一个MVC C#proyect,它在Ajax.BeginForm中有一个日期选择器,但它不起作用!我已经阅读并尝试了很多教程和答案,但我可以让它工作! ... 为了测试我已经创建了另一个没有Ajax.BeginForm的页面,它的工作原理! ......我真的需要帮助......这是我的代码...

在_Layout我有这个......

<script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/modernizr-1.7.min.js")" type="text/javascript"></script>

<link href="@Url.Content("~/Content/themes/base/jquery.ui.core.css")" 
    rel="stylesheet" type="text/css" />
<link href="@Url.Content("~/Content/themes/base/jquery.ui.datepicker.css")" 
    rel="stylesheet"  type="text/css" />
<link href="@Url.Content("~/Content/themes/base/jquery.ui.theme.css")" 
    rel="stylesheet" type="text/css" />

<script src="@Url.Content("~/Scripts/jquery.ui.core.min.js")" 
    type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.ui.datepicker.min.js")" 
    type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/DatePickerReady.js")" 
    type="text/javascript"></script>

这是我的日期视图

@model Nullable<DateTime>
@{
DateTime dt = DateTime.Now;
if (Model != null)
{
   dt  = (System.DateTime) Model;

}
@Html.TextBox("", String.Format("{0:d}", dt.ToShortDateString()), new { @class =       "datefield", type = "date"  })
} 

这是我的实际jscript,就像我说我尝试了很多,但是这个工作在测试页面上,它在文件DatePickerReady.js上

$(function () {
$(".datefield").datepicker();
});

这是来自ajax.beginform的代码

@using (Ajax.BeginForm("Index_AddItem", new AjaxOptions { UpdateTargetId = "TicketList", OnSuccess = "FFecha" }))
{ @Html.ValidationSummary(true)

最后这是我使用datepicker的地方,这段代码适用于我的测试,但它不适用于Ajax.BeginForm

<div class="editor-label" style="Display:block; width:300px; float:left">
            @Html.LabelFor(model => model.Ticket.Fecha)
<br />
</div>
<div class="editor-field">
            @Html.EditorFor(model => model.Ticket.Fecha)
            @Html.ValidationMessageFor(model => model.Ticket.Fecha)
</div>

我不认为模型有问题,但这里是代码......

    [Required(ErrorMessage = "Required")]
    [DataType(DataType.Date)]
    public DateTime Fecha { get; set; }

...我真的很赞赏任何帮助!

1 个答案:

答案 0 :(得分:0)

您似乎没有包含jQuery UI所依赖的基本jQuery脚本。您需要在_Layout中的 jQuery UI脚本之前包含它