首页 新闻 会员 周边

请教mvc使用datepicker的绑定问题

0
悬赏园豆:30 [已解决问题] 解决于 2015-01-16 16:35
//界面绑定 
@Html.TextBoxFor(model => model.BuyDate, new { @class = "datetype", @type = "text" })
//使用jquery日期控件
$(function () {
        $('#BuyDate').datepicker();
    })

这种情况日期能正常绑定显示,但是日期控件无法使用,后来我把@type="text"改成@type="date" 日期控件就可以使用了,但是却不能绑定值,按F12跟踪发现代码是这样的

<input class="datetype" data-val="true" data-val-date="字段 购买日期 必须是日期。" data-val-required="购买日期 字段是必需的。" id="BuyDate" name="BuyDate" type="date" value="2015/1/14 0:00:00">

value是有值的,但是无法在界面上显示,不知道是什么原因,请指教。

如果没有如果的主页 如果没有如果 | 初学一级 | 园豆:175
提问于:2015-01-16 14:19
< >
分享
最佳答案
0

@type="text"改成@type="date"就是要使用html5来实现了,这种有点不靠谱,因为谷歌浏览器虽然支持,但是ie就不支持了,你把val设成2015-01-06这种格式可能就有效了。

type="text"的时候你看看你有没有引用jquery ui 这个脚本文件

收获园豆:20
刘宏玺 | 专家六级 |园豆:14020 | 2015-01-16 14:46

jquery ui脚本文件肯定导入啦,如果你说type="date"这种ie不支持,那jquery 的datepicker是怎样利用mvc能绑定呢。我只要改成type="text"就不支持了

如果没有如果 | 园豆:175 (初学一级) | 2015-01-16 16:06

@如果没有如果: mvc只不过是给你生成里一个input标签而已,而你要做的就是将这个标签变成一个可以选择时间的控件

你改成type="text"就不支持了说明是脚本出错了,你要在浏览器端调试,和mvc是没有关系的

刘宏玺 | 园豆:14020 (专家六级) | 2015-01-16 16:08

@刘宏玺: 你现在用my97实现了?

 

刘宏玺 | 园豆:14020 (专家六级) | 2015-01-16 16:09

@刘宏玺: 还没有,正常的,你们一般用什么来实现?

如果没有如果 | 园豆:175 (初学一级) | 2015-01-16 16:29

@如果没有如果: 我都是用my97,支持国人!还是汉语的!

刘宏玺 | 园豆:14020 (专家六级) | 2015-01-16 16:30

@刘宏玺: 那我也改成这个吧,有具例的示例代码么,参照一下,没有就算了,也差不多能弄出来了,谢谢

如果没有如果 | 园豆:175 (初学一级) | 2015-01-16 16:33

@如果没有如果: http://www.my97.net/dp/demo/index.htm

刘宏玺 | 园豆:14020 (专家六级) | 2015-01-16 16:35
其他回答(2)
0
收获园豆:5
Yu | 园豆:12980 (专家六级) | 2015-01-16 14:28

这种方法是可行的,但是就是方法太旧了点,绑定的方式也很麻烦,我希望是用mode的值直接能绑定,像Html.EditorFor这样的,感谢

支持(0) 反对(0) 如果没有如果 | 园豆:175 (初学一级) | 2015-01-16 16:01
0

试试把value格式化了输出 value="2015-1-16"

收获园豆:5
Y2zz | 园豆:393 (菜鸟二级) | 2015-01-16 14:40

不是这个问题,应该是生成的html标记有问题,后来我重写HtmlHelper方法,返回的是这样的,就能正常显示了

<input type="date" id="BuyDate" name="BuyDate" onfocus="WdatePicker({dateFmt:'yyyy-MM-dd'})" class="datetype" value="2015-01-17">

 

支持(0) 反对(0) 如果没有如果 | 园豆:175 (初学一级) | 2015-01-16 16:03
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册