c# - 如何将 DatePicker 添加到我的 MVC3 C# 站点

标签 c# asp.net-mvc-3 jquery-ui razor datepicker

我整个下午都在想办法解决这个问题,但似乎无法掌握如何让 DatePicker 与我的网站一起工作。

此外,如果可能的话,我想删除日期时间的时间部分,因为我只对条目发布的日期感兴趣。

到目前为止,我已经将代码包括在下面,我几乎删除了到目前为止我尝试过的所有内容,所以它回到了开头。我在 _Layout.cshtml 的顶部引用了 JQuery 文件,我认为这是正确的。

虽然我会继续阅读,但我在网络上看过很多指南,但很难理解它们。

我已将这些行添加到我的 _Layout.cshtml 的顶部(我还解压缩了 JQuery 文件夹并将其复制到下面引用的位置)

<link href="@Url.Content("~/Content/jquery-ui/redmond/jquery-ui-1.8.21.custom.css")" rel="stylesheet" type="text/css" />
<script src="@Url.Content("~/Scripts/jquery-1.8.11.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/modernizr-1.7.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/ui/minified/jquery.ui.core.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/ui/minified/jquery.ui.datepicker.min.js")" type="text/javascript"></script>

我的 View 代码如下所示:

@model dale_harrison.Models.News

@{
    ViewBag.Title = "Create";
}

<h2>Create</h2>

<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript">    </script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")"     type="text/javascript"></script>

@using (Html.BeginForm()) {
    @Html.ValidationSummary(true)
    <fieldset>
        <legend>News</legend>

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

        <div class="editor-label">
            @Html.LabelFor(model => model.News_Date)
        </div>
        <div class="editor-field">
            @*@Html.EditorFor(model => model.News_Date)*@
            @Html.EditorFor(model => model.News_Date, new object{ id = "news_date" } )
            @Html.ValidationMessageFor(model => model.News_Date)
        </div>

        <p>
            <input type="submit" value="Create" />
        </p>
    </fieldset>
}

<div>
    @Html.ActionLink("Back to List", "Index")
</div>

<script type="text/javascript">
    $(document).ready(function () {
    $("#news_date").datepicker({ dateFormat: 'dd/mm/yy' });
    });
</script>

我的模型在这里:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Entity;

namespace dale_harrison.Models
{
    public class News
    {
        public int ID { get; set; }
        public string News_Entry { get; set; } 
        public DateTime News_Date { get; set; }
    }

    public class NewsDBContext : DbContext
    {
        public DbSet<News> News_Entries { get; set; }
    }
}

非常感谢任何人的帮助

最佳答案

先试试这个:

在没有 html 助手的情况下添加您的 html 代码:

<input type="text" id="news_date" name="news_date" />

或者,如果您想使用 Html 助手添加 id:

@Html.EditorFor(model => model.News_Date, new { id = "news_date" } )

然后添加这段javascript代码:

$(document).ready(function () {
            $("#news_date").datepicker({ dateFormat: 'dd/mm/yy' });
});

您可以先尝试一下,检查您是否正确设置了项目中的所有配置。你应该用这些线解决你的问题。

在您的站点中实现此功能后,请阅读有关 html 帮助器以及如何封装代码的信息,这样您就不必每次都重写它。

希望对您有所帮助!

关于c# - 如何将 DatePicker 添加到我的 MVC3 C# 站点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11160166/

相关文章:

javascript - 如何将委托(delegate)用于 UI 可拖动?

c# - 我们如何在 C# 中获取磁盘性能信息

c# - float.Parse 返回不正确的值

c# - 为 Entity Framework Core 中的所有数据库创建并应用迁移

c# - 在内存中模拟 LinqToSql 存储库以用于单元测试

asp.net - 为 MVC3 应用程序中的某些操作启用和要求 SSL

c# - 通过 SOAP 的 MVC 3 存储库模式

Javascript、Razor/MVC3 中的 C# if 语句

jquery-ui - 点击 : Load image in a random order of 10px blocks

css - jQueryUI 自动完成结果 <ul> 在 IE7 中未正确定位