3

2つの重要な質問があります。

1) DateTimePicker はうまく機能して<input type="text" name="date" id="date"/> いますが、css 効果と色はありません。2)<%Html.EditorFor(m => m.StartDateTime, new { @class = "datepicker" })%>動作していません。日時ピッカーを表示しません。

jquery datetimepicker の作り方。私の参照記事は: http://geekswithblogs.net/michelotti/archive/2010/02/05/mvc-2-editor-template-with-datetime.aspx


<link rel="stylesheet" href="../../Styles/jquery.ui.all.css"  type="text/css" />
<script type="text/javascript" src="<%= Url.Content("~/Scripts/jquery-1.7.2.min.js") %>"></script>
<script type="text/javascript" src="<%= Url.Content("~/Scripts/jquery-ui.js") %>"></script>
<script type="text/javascript" src="<%= Url.Content("~/Scripts/jquery.ui.datepicker.js") %>"></script>

<script type="text/javascript">
    $(document).ready(function () {
        $('.datepicker').datepicker({});
        $('#date').datepicker({});

    });
</script>





<table>
<tr><td><input type="text" name="date" id="date" /></td></tr>
<tr><td><%:Html.LabelFor(m=>m.StartDateTime) %></td><td><%:Html.EditorFor(m => m.StartDateTime, new { @class = "datepicker" })%></td></tr>
</table

4

3 に答える 3

3

2 番目の問題については、EditorFor の代わりに Html.TextBoxFor を使用して、html 属性を取得します。

Html.TextBoxFor(model => model.Date, new { @class = "datePick", Value = Model.Date.ToString("MM/dd/yyyy") })

最初の問題について、パスは正しいですか? Url.Content を使用して取得します

于 2012-07-10T11:16:10.137 に答える
3

プログラマー、これが私が少し前にこれを行った方法です。

DateTime.aspx という名前の editorfor テンプレートを作成します。

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<DateTime?>" %>

<%string name = ViewData.TemplateInfo.HtmlFieldPrefix;%>
<%string id = name.Replace(".", "_");%>

<div class="editor-label">
    <%= Html.LabelFor(model => model) %>
</div>
<div class="editor-field">
    <%= Html.TextBox("", (Model.HasValue ? Model.Value.ToString("dd-MM-yyyy") : string.Empty), new { @class = "date" }) %>
    <%= Html.ValidationMessageFor(model => model)%>
</div>      

<script type="text/javascript">
    $(document).ready(function() {
        $("#<%=id%>").datepicker({
            dateFormat: 'dd-mm-yy',
            changeMonth: true,
            changeYear: true,
            showOn: 'button', 
            buttonImage: '<%=Url.Content("~/Content/images/calendar.gif") %>'
        });
    });
</script>

次に、ビューでそれをそのまま呼び出します。

<%= Html.EditorFor(m => m.StartDate) %>

乾杯...

于 2012-07-10T11:16:10.300 に答える
1

Html.EditorFor の代わりに Html.TextBoxFor を使用してみてください。

<%:Html.TextBoxFor(m => m.StartDateTime, new { @class = "datepicker" })%> 

CSS の問題については、次を使用します。

<link rel="stylesheet" href="<%= Url.Content("~/Styles/jquery.ui.all.css") %>"  type="text/css" />
于 2012-07-10T11:10:51.353 に答える