带有 ajax 的 Js 在页面加载时导致错误
Js with ajax couse error on page load
我有一个 JS 脚本来弹出一个 calendar.If 我在页面上放了 AJAX 以避免刷新我得到了错误 :
无法修改控件集合,因为该控件包含代码块(即 <% ... %>)。
我读到如果我将 <%= 更改为 <%# 应该可以。我试了一下,页面加载了,但是这个功能不起作用。
js
function ShowDatePopup() {
$find("<%= RadDatePicker1.ClientID %>").showPopup();
}
aspx
<telerik:RadDatePicker ID="RadDatePicker1" Runat="server" Culture="el-GR" Visible="False" Skin="WebBlue" AutoPostBack="True" >
<Calendar runat="server" UseRowHeadersAsSelectors="False" UseColumnHeadersAsSelectors="False" EnableWeekends="True" FastNavigationNextText="&lt;&lt;" Skin="WebBlue"></Calendar>
<DateInput runat="server" DisplayDateFormat="yyyy/MM/dd" DateFormat="yyyy/MM/dd" LabelWidth="40%" EmptyMessage="Ex: 2015/01/24" AutoPostBack="True" >
<ClientEvents OnFocus="ShowDatePopup"/>
<EmptyMessageStyle Resize="None"></EmptyMessageStyle>
<ReadOnlyStyle Resize="None"></ReadOnlyStyle>
<FocusedStyle Resize="None"></FocusedStyle>
<DisabledStyle Resize="None"></DisabledStyle>
<InvalidStyle Resize="None"></InvalidStyle>
<HoveredStyle Resize="None"></HoveredStyle>
<EnabledStyle Resize="None"></EnabledStyle>
</DateInput>
<DatePopupButton ImageUrl="" HoverImageUrl=""></DatePopupButton>
</telerik:RadDatePicker>
我做错了什么,我该如何解决?
将 Visible 属性 设置为 true 以实际获取浏览器页面上的控件(以及,通过扩展,它的客户端对象)
将您的服务器代码块包装在 RadCodeBlock 标签中:http://www.telerik.com/help/aspnet-ajax/ajax-radscriptblock-radcodeblock.html.
这是你的代码片段,对我来说效果很好:
<telerik:RadDatePicker ID="RadDatePicker1" runat="server" Culture="el-GR" Visible="true" Skin="WebBlue" AutoPostBack="True">
<Calendar ID="Calendar1" runat="server" UseRowHeadersAsSelectors="False" UseColumnHeadersAsSelectors="False" EnableWeekends="True" FastNavigationNextText="&lt;&lt;" Skin="WebBlue"></Calendar>
<DateInput ID="DateInput1" runat="server" DisplayDateFormat="yyyy/MM/dd" DateFormat="yyyy/MM/dd" LabelWidth="40%" EmptyMessage="Ex: 2015/01/24" AutoPostBack="True">
<ClientEvents OnFocus="ShowDatePopup" />
<EmptyMessageStyle Resize="None"></EmptyMessageStyle>
<ReadOnlyStyle Resize="None"></ReadOnlyStyle>
<FocusedStyle Resize="None"></FocusedStyle>
<DisabledStyle Resize="None"></DisabledStyle>
<InvalidStyle Resize="None"></InvalidStyle>
<HoveredStyle Resize="None"></HoveredStyle>
<EnabledStyle Resize="None"></EnabledStyle>
</DateInput>
<DatePopupButton ImageUrl="" HoverImageUrl=""></DatePopupButton>
</telerik:RadDatePicker>
<telerik:RadCodeBlock runat="server" ID="RadCodeBlock1">
<script>
function ShowDatePopup() {
$find("<%= RadDatePicker1.ClientID %>").showPopup();
}
</script>
</telerik:RadCodeBlock>
我有一个 JS 脚本来弹出一个 calendar.If 我在页面上放了 AJAX 以避免刷新我得到了错误 :
无法修改控件集合,因为该控件包含代码块(即 <% ... %>)。
我读到如果我将 <%= 更改为 <%# 应该可以。我试了一下,页面加载了,但是这个功能不起作用。
js
function ShowDatePopup() {
$find("<%= RadDatePicker1.ClientID %>").showPopup();
}
aspx
<telerik:RadDatePicker ID="RadDatePicker1" Runat="server" Culture="el-GR" Visible="False" Skin="WebBlue" AutoPostBack="True" >
<Calendar runat="server" UseRowHeadersAsSelectors="False" UseColumnHeadersAsSelectors="False" EnableWeekends="True" FastNavigationNextText="&lt;&lt;" Skin="WebBlue"></Calendar>
<DateInput runat="server" DisplayDateFormat="yyyy/MM/dd" DateFormat="yyyy/MM/dd" LabelWidth="40%" EmptyMessage="Ex: 2015/01/24" AutoPostBack="True" >
<ClientEvents OnFocus="ShowDatePopup"/>
<EmptyMessageStyle Resize="None"></EmptyMessageStyle>
<ReadOnlyStyle Resize="None"></ReadOnlyStyle>
<FocusedStyle Resize="None"></FocusedStyle>
<DisabledStyle Resize="None"></DisabledStyle>
<InvalidStyle Resize="None"></InvalidStyle>
<HoveredStyle Resize="None"></HoveredStyle>
<EnabledStyle Resize="None"></EnabledStyle>
</DateInput>
<DatePopupButton ImageUrl="" HoverImageUrl=""></DatePopupButton>
</telerik:RadDatePicker>
我做错了什么,我该如何解决?
将 Visible 属性 设置为 true 以实际获取浏览器页面上的控件(以及,通过扩展,它的客户端对象)
将您的服务器代码块包装在 RadCodeBlock 标签中:http://www.telerik.com/help/aspnet-ajax/ajax-radscriptblock-radcodeblock.html.
这是你的代码片段,对我来说效果很好:
<telerik:RadDatePicker ID="RadDatePicker1" runat="server" Culture="el-GR" Visible="true" Skin="WebBlue" AutoPostBack="True">
<Calendar ID="Calendar1" runat="server" UseRowHeadersAsSelectors="False" UseColumnHeadersAsSelectors="False" EnableWeekends="True" FastNavigationNextText="&lt;&lt;" Skin="WebBlue"></Calendar>
<DateInput ID="DateInput1" runat="server" DisplayDateFormat="yyyy/MM/dd" DateFormat="yyyy/MM/dd" LabelWidth="40%" EmptyMessage="Ex: 2015/01/24" AutoPostBack="True">
<ClientEvents OnFocus="ShowDatePopup" />
<EmptyMessageStyle Resize="None"></EmptyMessageStyle>
<ReadOnlyStyle Resize="None"></ReadOnlyStyle>
<FocusedStyle Resize="None"></FocusedStyle>
<DisabledStyle Resize="None"></DisabledStyle>
<InvalidStyle Resize="None"></InvalidStyle>
<HoveredStyle Resize="None"></HoveredStyle>
<EnabledStyle Resize="None"></EnabledStyle>
</DateInput>
<DatePopupButton ImageUrl="" HoverImageUrl=""></DatePopupButton>
</telerik:RadDatePicker>
<telerik:RadCodeBlock runat="server" ID="RadCodeBlock1">
<script>
function ShowDatePopup() {
$find("<%= RadDatePicker1.ClientID %>").showPopup();
}
</script>
</telerik:RadCodeBlock>