Javascript 敲除js数据绑定在父屏幕上工作,但在asp.net/vb.net web应用程序的弹出窗口中不工作

Javascript 敲除js数据绑定在父屏幕上工作,但在asp.net/vb.net web应用程序的弹出窗口中不工作,javascript,jquery,asp.net,knockout.js,asp.net-ajax,Javascript,Jquery,Asp.net,Knockout.js,Asp.net Ajax,我正在开发一个用asp.net和vb.net构建的web应用程序 我有一个页面update_status.aspx,它使用knockout js根据用户在选择框中选择的值显示日期选择器。代码如下所示 <%@ Page Title="" Language="VB" MasterPageFile="E4.master" AutoEventWireup="false" CodeFile="update-status.aspx.vb" Inherits="E4_Jobs_Details_Appl

我正在开发一个用asp.net和vb.net构建的web应用程序

我有一个页面update_status.aspx,它使用knockout js根据用户在选择框中选择的值显示日期选择器。代码如下所示

 <%@ Page Title="" Language="VB" MasterPageFile="E4.master" AutoEventWireup="false" CodeFile="update-status.aspx.vb" Inherits="E4_Jobs_Details_Application_update_status" %>


 <asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="Server">

       <div class="entry-wrapper">
            <input type="hidden" id="appId" value="<%= VacancyApplication.ID%>" />

            <div class="form-element">
                <label>Current status</label>
                <input type="text" readonly="readonly" value="<%= VacancyApplication.Status%>" />
            </div>

            <div class="form-element">
                <label>New status (required)</label>
                <select id="comNewStatus" runat="server" datavaluefield="id" datatextfield="name" class="nFee"></select>
            </div>
            <div data-bind="visible: statusId() == 12">
                <label>
                    Start date (required, format: DD-MMM-YYYY)
                </label>
                <div class="input-append">
                    <span class="add-on "><span class="icon-calendar"></span></span>
                    <input class="dp" size="16" type="text" value="" runat="server" id="txtStartDate" />
                </div>
            </div>
        </div>
     </asp:Content>
问题是,当我通过更改母版页(如下所示)将此页面转换为弹出页面时,此数据绑定不起作用。也就是说,当用户选择正确的状态时,日历不会出现

<%@ Page Title="" Language="VB" MasterPageFile="E4_Popup.master" AutoEventWireup="false" CodeFile="update-status.aspx.vb" Inherits="E4_Jobs_Details_Application_update_status" %>
E4.master和E4_Popup.master都使用相同的样式和相同的代码文件

<%@ Master Language="VB" CodeFile="E4.master.vb" Inherits="_resx_E4" %>
唯一的区别是它们是不同的文件,E4_Popup.master不包含网页的额外部分,例如;页眉和页脚

但即使我将E4.master页面复制为E4_Popup.master页面并将其引用到更新状态页面。。日历不响了。它只是在E4.master页以外的页面上不起作用

我不明白问题出在哪里

我该怎么办?请给我正确的建议

请参阅下面的淘汰应用绑定代码

<asp:Content ID="Content2" ContentPlaceHolderID="ScriptContent" runat="Server">
<script type="text/javascript">

    var ViewModel = function () {
        var self = this;
        self.histories = ko.observableArray([]);
        self.statusId = ko.observable(0);
        self.feeType = ko.observable(0);
        self.agencyApp = ko.observable(false);
        self.offeredSalary = ko.observable(0);
        self.finalSalary = ko.observable(0);
        self.introductionFee = ko.observable(0);

    };
    var vm = new ViewModel();
    ko.applyBindings(vm);

    $(function () {
        $("select.chosen").chosen();
        dimNav('vacancy');




        var aid = $('#appId').val(), feeType = $('#feeType').val(), agencyApp = $('#agencyApp').val();
        vm.feeType(parseInt(feeType));
        vm.agencyApp(agencyApp);

        $('.nFee').change(function () {
            vm.statusId(parseInt($(this).val()));
        });


        //numeric only
        $('.txtOfferedSalary, .txtFinalIntroductionFee,.txtFinalSalary').keydown( function(event) {
            // Allow: backspace, delete, tab, escape, and enter
            if (event.keyCode == 46 || event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 27 || event.keyCode == 13 ||
                // Allow: Ctrl+A
                (event.keyCode == 65 && event.ctrlKey === true) ||
                // Allow: home, end, left, right
                (event.keyCode >= 35 && event.keyCode <= 39)) {
                // let it happen, don't do anything
                return;
            } else {
                // Ensure that it is a number and stop the keypress
                if (event.shiftKey || (event.keyCode < 48 || event.keyCode > 57) && (event.keyCode < 96 || event.keyCode > 105)) {
                    event.preventDefault();
                }
            }
        });



        $.when(
            $.ajax({
                type: "POST",
                url: "/_services/UtilityService.asmx/applicationstatushistories",
                data: "{id:" + aid + "}",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                cache: true
            })).done(function (r) {
                vm.histories($.parseJSON(r.d));
                //console.log();
                momentize();
            });
    });
  </script>
 </asp:Content>

当我运行应用程序时。。。对于E4.master页、E4_popup.master页和update_status_popup.aspx页,会出现以下类型的警告

导入“Telerik.WebControls”中指定的命名空间或类型不包含任何公共成员或找不到。确保已定义命名空间或类型,并且至少包含一个公共成员。确保导入的元素名称不使用任何别名


如果您需要更多信息,请让我知道

在您的示例周围必须有您尚未展示的额外代码。例如,ko.applyBindings在哪里被调用等。嗨,我已经编辑了我的问题。请查看我的问题以查看代码。只是想弄清楚我是否只是将页面中的主文件名从e4.master更改为e4_popup.master。。。日期选择器没有出现。即使两个母版页的名称完全相同。当我运行应用程序时。。。对于update_status_popup.aspx页面,出现以下类型的警告:警告108验证XHTML 1.0过渡:“数据绑定”属性不是元素“div”的有效属性。update-status_popup.aspx