将我的 ASP.Net 代码从我的开发 VM 移动到服务器时,我遇到了一个奇怪的问题。
当页面在 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 类被交换到服务器上的“文本框”,但不在 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 上的任何想法?