使用 jQuery datepicker 从 ASP MVC @Html.TextBoxFor 控件中删除时间
Posted
技术标签:
【中文标题】使用 jQuery datepicker 从 ASP MVC @Html.TextBoxFor 控件中删除时间【英文标题】:Remove time from ASP MVC @Html.TextBoxFor Control using jQuery datepicker 【发布时间】:2013-03-20 10:25:16 【问题描述】:使用 jQuery .datepicker()
时如何防止显示时间?下面是两个属性(使用日期和到期日期)的模型部分
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "0:d")]
[DisplayName("Expiration Date")]
public string ExpirationDate get; set;
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "0:d")]
[DisplayName("Date Taken")]
public string DateTaken get; set;
在我正在处理的视图上使用@html.EditorFor
控件可以正常工作。但是,当我从这里更改该控件时:
@Html.EditorFor(model => model.DateTaken)
对此:
@Html.TextBoxFor(m => m.DateTaken, new id = "dtkn" )
为了让它工作(标签哪个控件应用了datepicker
):
<script>
$(function ()
$("#dtkn").datepicker('setDate');
$("#exp").datepicker('setDate');
);
$.datepicker.setDefaults(
buttonImageOnly: true,
buttonImage: '<%=Url.Content("~/Content/images/magnify.gif") %>',
defaultDate: -1,
gotoCurrent: true,
prevText: "<< Prev",
nextText: "Next >>"
);
</script>
时间突然出现了。有什么建议?
编辑
我尝试了以下格式,但都不行:
$("#dtkn").datepicker( dateFormat: 'dd-mm-yy' ).val();
$("#dtkn").datepicker( dateFormat: 'yy-mm-dd' );
$("#dtkn").datepicker('getDate').format('yyyyMMdd');
还有这个:
$("#dtkn").datepicker('getDate').datepicker('dd/mm/yy');
$('#dtkn').datepicker('option', dateFormat: 'd MM y' );
这是我在 Chrome 调试控制台看到的错误:
Uncaught TypeError: Cannot call method 'datepicker' of null
【问题讨论】:
重复***.com/questions/1328025/… 尝试了这些解决方案,但没有任何运气。查看修改。 【参考方案1】:编辑:MVC4 用户可以使用这个
你想要这个重载
@Html.TextBoxFor(m => m.DateTaken, "0:MM/dd/yyyy", new id="dtkn" )
如果你愿意手动放弃助手
<input type="text" value="@Model.DateTaken.ToString("MM/dd/yyyy")" id="dtkn" />
【讨论】:
我收到错误No overload for method 'TextBoxFor' takes 3 arguments
抱歉,错过了 MVC3。试试***.com/questions/5972536/…
如果您不想弄乱现有的标记和/或视图模型,这似乎是最敏感的方法【参考方案2】:
通过使用@Html.TextBox
而不是@Html.TextBoxFor
,我能够找到一个有效的重载。
@Html.TextBox("DateTaken", Model.DateTaken.ToString("MM/dd/yyyy"), new id = "dtkn" )
【讨论】:
【参考方案3】:@Html.TextBoxFor(m => m.DateTaken,"0:d/M/yyyy", new id = "dtkn" )
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "0:d/M/yyy")]
[显示名称(“拍摄日期”)]
公共字符串 DateTaken 获取;放;
【讨论】:
以上是关于使用 jQuery datepicker 从 ASP MVC @Html.TextBoxFor 控件中删除时间的主要内容,如果未能解决你的问题,请参考以下文章
如何从 jquery datepicker 中获取选定的日期
使用 jQuery datepicker 从 ASP MVC @Html.TextBoxFor 控件中删除时间
如何将 jquery datepicker 从模板传递到 python Django 中查看?