我正在使用ASP.NET MVC 3
razor
和最新版本的Telerik MVC extensions
控件。
我的观点中有一个日期选择器:
<td><label>From:</label></td>
<td>
@(Html.Telerik()
.DatePickerFor(x => x.HospitalisedStartDate)
.Name("HospitalisedStartDate")
)
</td>
我视图模型中的此属性:
public DateTime? HospitalisedStartDate { get; set; }
加载视图时,我会点击日历图标。弹出日历,我会选择一个日期然后没有任何反应。日历消失但日期未设置为文本框。为什么会这样?如果我在文本框中键入“今天”这个词,那么它将在今天的日期中输入“2012/01/21”。我在这里错过了什么阻止它工作?
样式表和JavaScript的标记看起来像这样:
<link type="text/css" href="/Content/2011.3.1115/telerik.common.min.css" rel="stylesheet"/>
<link type="text/css" href="/Content/2011.3.1115/telerik.webblue.min.css" rel="stylesheet"/>
<link type="text/css" href="/Content/Stylesheets/mystylesheet.css" rel="stylesheet"/>
<script src="/Scripts/jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="/Scripts/2011.3.1115/telerik.common.min.js"></script>
<script type="text/javascript" src="/Scripts/2011.3.1115/telerik.tabstrip.min.js"></script>
<script type="text/javascript" src="/Scripts/2011.3.1115/telerik.calendar.min.js"></script>
<script type="text/javascript" src="/Scripts/2011.3.1115/telerik.datepicker.min.js"></script>
<script type="text/javascript" src="/Scripts/2011.3.1115/telerik.treeview.min.js"></script>
答案 0 :(得分:2)
使用jQuery 1.7及更高版本时,日期选择器似乎存在问题。我将其更改为jQuery 1.6.4,现在可以使用了。有没有人知道为什么会这样?
现在我认为:
<script src="/Scripts/jquery-1.6.4.min.js"></script>
答案 1 :(得分:1)
你有更新jQuery吗?
在仔细考虑了我可能已经改变的内容之后,我记得我需要测试更新版本的jQuery。大约一周前,我用jquery-1.7.1.js替换了文件jquery-1.6.4.min.js。恢复1.6.4版本已经解决了我的问题。我的页面完全按照设计的方式工作。
答案 2 :(得分:1)
jQuery 1.6.4对我来说效果很好。但是,我尝试了jquery-1.5.1.min.js并尝试了1.7.1。它不起作用。图标没有显示出来。
答案 3 :(得分:0)
我遇到同样的问题。我正在使用MVC3(非Razor),Telerik MVC控件和jQuery。我最近才开始看到这个问题。不幸的是,我似乎无法隔离我可能已经改变的东西以引发这种行为。我最近不得不添加一个ASP.NET脚本管理器来从第三方程序集导入脚本资源,以及一些自定义代码来帮助生成冗余标记。
针对Nick的问题,Telerik控件自动插入
<%: Html.Telerik().ScriptRegistrar() ... %>
进入标记,但是自项目开始以来就一直存在 - 当DatePicker按预期工作时。
我在Firefox和IE中都看到了这种行为。在绝望中,我把我的文件剥离到了这个:
<%@ Master Language="C#" Inherits="System.Web.Mvc.ViewMasterPage" %>
<!DOCTYPE html>
<html>
<head runat="server">
<title>Test</title>
<%: Html.Telerik().StyleSheetRegistrar().DefaultGroup(group => group.Add("telerik.common.css").Add("telerik.webblue.css").Combined(true).Compress(true)) %>
</head>
<body>
<form id="frmMain" method="post" runat="server">
<% Html.Telerik( ).DatePicker( )
.Name( "dtTest" )
.HtmlAttributes( new { id = "dtTest_wrapper" } )
.Min( DateTime.Today.Subtract( new TimeSpan( 3835, 0, 0, 0, 0 ) ) )
.Max( DateTime.Today.Add( new TimeSpan( 24, 0, 0 ) ) )
.ShowButton( true )
.OpenOnFocus( true )
.Render( ); %>
</form>
<%: Html.Telerik().ScriptRegistrar().DefaultGroup(group => group.Combined(false).Compress(false)) %>
</body>
</html>
这仍然没有按照预期的方式运作。这是一个母版页(一直都是),但是在任何子页面中都没有定义,但是(从未有过)。