将ASP.Net代码从开发虚拟机移动到服务器时,我遇到了一个奇怪的问题。
当页面加载到VM上时,我在Master中有一些javascript将日期时间选择器附加到文本框
function loadAnyTimeDT() {
$('.AnyTimeDT').each(function () {
$(this).AnyTime_picker(
{
askEra: false,
askSecond: false,
format: "%d-%b-%y %H:%i"
});
});
$('.AnyTimeD').each(function () {
$(this).AnyTime_picker(
{
askEra: false,
askSecond: false,
format: "%d-%b-%y"
});
});
$('.AnyTimeT').each(function () {
$(this).AnyTime_picker(
{
askEra: false,
askSecond: false,
format: "%H:%i"
});
});
}
$(document).ready(function () {
loadAnyTimeDT();
});
这很有效,我对结果感到满意。将代码移到服务器上进行部署,突然没有日期时间选择器正在工作。
在检查网页的页面源之后,我注意到css类正在交换到服务器上的“textbox”而不是vm中。在页面加载不在代码中之后会发生这种情况。
以下是gridview中的一个文本框的示例
<EditItemTemplate>
<asp:TextBox ID="txtbTimeStartTime" CssClass="AnyTimeT" runat="Server" Text="<%# Eval("StartTime") %>"></asp:TextBox>
</EditItemTemplate>
页面加载后,这就是我在源代码中看到的内容
<input name="ctl00$ContentPlaceHolder1$gvTime$ctl03$txtbTimeStartTime" type="text" id="ContentPlaceHolder1_gvTime_txtbTimeStartTime" class="textbox">
这使我很难附上我的日期时间选择器,因为我不能再按类选择正确的日期时间。
是否有任何关于强制css类保持在VM上的想法?