1

将我的 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 上的任何想法?

4

0 回答 0