javascript - Knockout js 数据绑定(bind)属性未重定向正确的页面

标签 javascript jquery asp.net vb.net knockout.js

我正在维护另一个开发人员开发的应用程序。该应用程序使用asp.net和vb.net构建,并使用knockout js。

我正在尝试更改代码中的一个链接。虽然我更改了行,但它会转到上一个链接。

当前代码如下

<a data-bind="    text: Title, attr: { 'href': 'jobs/details/default.aspx?v=' + Id }"></a>

我已将 href 属性更改为

<a data-bind="    text: Title, attr: { 'href': 'jobs/details/application/list.aspx?v=' + Id }"></a>

当我运行代码时,它仍然转到default.aspx页面而不是application/list.aspx。当我检查该元素(在浏览器中)时,我发现代码显示如下

<a data-bind="    text: Title, attr: { 'href': 'jobs/details/application/list.aspx?v=' + Id }" href="jobs/details/default.aspx?v=2707">Process manager</a>

我无法找到 href= 部分的来源。

我在这里提供页面中使用的knockout js代码。

请建议我如何让它发挥作用

Knockout JS 代码如下

var dbVm = {};
dbVm.jobs = ko.observableArray([]);
dbVm.applications = ko.observableArray([]);
dbVm.candidates = ko.observableArray([]);
dbVm.openJobs = ko.observableArray([]);
dbVm.newApplications = ko.observableArray([]);
dbVm.newTasks = ko.observableArray([]);
ko.applyBindings(dbVm);


$(function () {


dimNav('dashboard');

$('.tip').width($('.db-wrapper').width());

$('.rvqv').click(function () {
    var cList = $(this).attr('data-cont');
    $('.db-rv-wrapper div.d-tabs').hide();
    $(cList).show();
    $('.rvqv').removeClass('active');
    $(this).addClass('active');
});

$('.rvqv:first').trigger('click');

//
//Trigger tips
//
$.when(
    $.ajax({
        type: "POST",
        url: "/_services/UtilityService.asmx/CurrentStatus",
        data: "{}",
        contentType: "application/json; charset=utf-8",
        dataType: "json"

    })).done(function (r1) {
        var r = r1.d, totalOj = 0, totalLj = 0,
                totalNa = 0, totalAra = 0,
                totalTd = 0, totalInt = 0;

        totalOj = parseInt(r.TotalOj);
        totalLj = parseInt(r.TotalLj);
        totalNa = parseInt(r.TotalNewApp);
        totalAra = parseInt(r.TotalAra);
        totalTd = parseInt(r.TotalT);
        totalInt = parseInt(r.TotalI);

        $('.e-db-cs #oj h3').html(totalOj);
        $('.e-db-cs #oj #lj').html(totalLj > 0?totalLj:'none');
        $('.e-db-cs #na h3').html(totalAra);
        $('.e-db-cs #na #ara').html(totalNa > 0 ? totalNa : 'none');
        $('.e-db-cs #td h3').html(totalTd);
        $('.e-db-cs #td #int').html(totalInt > 0? totalInt : 'no');


        if (totalOj > 0 || totalLj > 0) {
            $('#oj > a').removeClass('disabled');
            Tipped.create('#oj', $('#ojDetails')[0], {
                hook: 'bottomleft',
                containment: false,
                showDelay: 400,
                hideDelay: 300,
                onShow: function (content, element) {
                    $('#oj > a').addClass('active');
                },
                onHide: function (content, element) {
                    $('#oj > a').removeClass('active');
                }
            });
        } else {
            $('#oj > a').addClass('disabled');
        }
        if (totalNa > 0 || totalAra >  0) {
            $('#na > a').removeClass('disabled');
            Tipped.create('#na', $('#naDetails')[0], {
                hook: 'bottommiddle',
                containment: false,
                showDelay: 400,
                hideDelay: 300,
                onShow: function (content, element) {
                    $('#na > a').addClass('active');
                },
                onHide: function (content, element) {
                    $('#na > a').removeClass('active');
                }
            });
        } else {
            $('#na > a').addClass('disabled');
        }

        if (totalTd > 0 || totalInt > 0) {
            $('#td > a').removeClass('disabled');
            Tipped.create('#td', $('#tdDetails')[0], {
                hook: 'bottomright',
                containment: false,
                showDelay: 400,
                hideDelay: 300,
                onShow: function (content, element) {
                    $('#td > a').addClass('active');
                },
                onHide: function (content, element) {
                    $('#td > a').removeClass('active');
                }
            });
        } else {
            $('#td > a').addClass('disabled');
        }


    });


//
//Tooltip datas
//
$.when(
    $.ajax({
        type: "POST",
        url: "/_services/UtilityService.asmx/OpenVacancyList",
        data: "{}",
        contentType: "application/json; charset=utf-8",
        dataType: "json"
    }), $.ajax({
        type: "POST",
        url: "/_services/UtilityService.asmx/OpenApplications",
        data: "{}",
        contentType: "application/json; charset=utf-8",
        dataType: "json"
    }), $.ajax({
        type: "POST",
        url: "/_services/UtilityService.asmx/UpcomingTasks",
        data: "{}",
        contentType: "application/json; charset=utf-8",
        dataType: "json"
    })).done(function (r1, r2, r3) {
        dbVm.openJobs(r1[0].d);
        dbVm.newApplications(r2[0].d);
        dbVm.newTasks($.parseJSON(r3[0].d));
        momentize();
    });


//
// Recent items data
//
$.when(
    $.ajax({
        type: "POST",
        url: "/_services/UtilityService.asmx/RecentlyViewedJobs",
        data: "{}",
        contentType: "application/json; charset=utf-8",
        dataType: "json"
    }),
    $.ajax({
        type: "POST",
        url: "/_services/UtilityService.asmx/RecentlyViewedApplications",
        data: "{}",
        contentType: "application/json; charset=utf-8",
        dataType: "json"
    }),
    $.ajax({
        type: "POST",
        url: "/_services/UtilityService.asmx/RecentlyViewedCandidates",
        data: "{}",
        contentType: "application/json; charset=utf-8",
        dataType: "json"
    })).done(function (r1, r2, r3) {
        dbVm.jobs(r1[0].d);
        dbVm.applications(r2[0].d);
        dbVm.candidates(r3[0].d);

        momentize();
    });


  });

请推荐我

最佳答案

这感觉像是一个简单的缓存问题。尝试清除浏览器缓存并重新加载页面。

关于javascript - Knockout js 数据绑定(bind)属性未重定向正确的页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24391463/

相关文章:

javascript - 在 promise 链中容纳 Q.all

javascript - 如何在 KendoGrid 内联编辑模式下覆盖默认更新事件

javascript - 根据href选择所有 anchor 标记并更改它

javascript - Select2 更改事件 - 在第一个 select2 框值更改时更改下一个 select2 框的选项

c# - 给定一个字符串中的网站 HTML,如何提取标签元素?

c# - 映射 GridView ASP/C# 的单元格/列中的值

javascript - JQuery - AJAX 对话框模式,无法按回车键提交表单

php - 使用AJAX插入数据库,无需刷新页面

javascript - 单击时将按钮文本更改为粗体

javascript - 将 C# 变量传递给 HTML 按钮