不能使用带有Razor视图的jquery datepicker

时间:2013-03-30 04:42:56

标签: jquery-ui razor asp.net-mvc-4

我正在开发一个ASP.NET MVC 4应用程序。在我的一个表单中(使用Razor视图引擎)我想使用带有日期字段的jquery datepicker。 但我的datepicker代码不起作用。

查看/共享/ _Layout.cshtml

<head>
    <meta charset="utf-8" />
    <title>@ViewBag.Title - My ASP.NET MVC Application</title>
    <link href="~/favicon.ico" rel="shortcut icon" type="image/x-icon" />
     <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.2/themes/smoothness/jquery-ui.css" />
    <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
    <script src="http://code.jquery.com/ui/1.10.2/jquery-ui.js"></script>
    <meta name="viewport" content="width=device-width" />
    @Styles.Render("~/Content/css")
    @Scripts.Render("~/bundles/modernizr")
</head>

查看/ myController的/ Create.cshtml

@model wppf_test_1.Models.allocation_percentage

@{
    ViewBag.Title = "Create";
}

<script type="text/javascript">

$(document).ready(function () {

    alert("h");
    $("#date").datepicker();

});

</script>

<h2>Create</h2>

@using (Html.BeginForm()) {
    @Html.ValidationSummary(true)

<fieldset>
    <div class="editor-label">
        @Html.LabelFor(model => model.date)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.date)
        @Html.ValidationMessageFor(model => model.date)
    </div>

我没有发布视图的整个代码,因为它非常大。 jquery代码中的警报消息有效。但是datepicker代码没有。我使用了firebug并验证了date字段的id确实是“date”。但我不知道这是什么问题。

2 个答案:

答案 0 :(得分:2)

我建议使用像这样的输入元素:

<div class="editor-field">
    <input type="text" name="date" id="date" /> 
    @Html.ValidationMessageFor(model => model.date)
</div>

作为约会的编辑。将名称设置为日期将正确地将值链接到表单提交上的日期字段。我之前遇到过这个问题,这就是我解决这个问题的方法,尽管我不能确定它为什么会起作用。

答案 1 :(得分:0)

我的情况与Shuaib相同,我尝试上面的建议,我可以在我的项目上创建日期选择器(create.cshtml)。

<input type="text" name="CreatedDate" id="date" />

但是,我的项目(create.cshtml)中还有更多的输入元素。我尝试使用相同的id(id =&#34; date&#34;),如下所示。

<input type="text" name="UpdatedDate" id="date" /> 

我在运行应用程序时,第二个输入元素上的日期选择器(名称=&#34;更新日期)无效。我收到警告消息此页面上的另一个对象已使用ID&#39; 日期&#39;

这个方法(call id datepicker)只能在页面上使用一个输入元素(不是更多)?

感谢您的建议, 欢呼声