我正在开发一个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; }
...我真的很赞赏任何帮助!
答案 0 :(得分:0)
您似乎没有包含jQuery UI所依赖的基本jQuery脚本。您需要在_Layout中的 jQuery UI脚本之前包含它。