我在我的视图页面上有一个asp:日历,当我将鼠标悬停在它上面时..它显示了一个javascript回发状态栏。但是当我将鼠标悬停在同一页面上时,我也有一个asp:按钮。来自控制器的操作位于状态栏中。因为我在按钮上有一个onClick属性,可以触发服务器端的操作。并且在asp:日历中我也有一个触发事件OnSelectionChanged在服务器端有一个方法...但正如我所说,当我将鼠标悬停在日历上以在状态栏中选择一个日期时它显示:javascript:_doPostBack($ ct100ContentPlaceHolder?mycalendar',''3270)当我点击一个日期时,我收到一条错误,说明对象不支持这种方法。另外mycalendar是asp:calendar的id名称
答案 0 :(得分:8)
ASP.NET服务器端控件实际上并不适合与MVC一起使用。服务器端控件将View和Controller组合在一个包中,而MVC将它们分开。
Calendar控件不起作用的另一个原因是它依赖于回发模型,后者在MVC中不起作用。
我建议尝试使用javascript日历控件。
答案 1 :(得分:7)
Sam是对的(upvoted)。看看在你的网络应用程序中使用jQuery。在jQuery的UI(它是一个额外的.js文件)中,有一个很棒的日历选择器(如果这是你想要做的 - 选择一个日期)。只需确保您获取日期选择器的.css文件。
jQuery:http://jquery.com/
jQuery UI:http://ui.jquery.com/
jQuery datepicker演示:http://ui.jquery.com/repository/tags/latest/demos/functional/#ui.datepicker
我认为您需要获取开发包以确保获取日期选择器的.css文件
如果你找不到css文件(我不能)在google上搜索ui.datepicker.css
答案 2 :(得分:0)
你可以尝试BaseCalendar,它不依赖或使用回发。