ValidationSummary超链接不会更改选项卡

时间:2014-04-11 10:55:56

标签: asp.net-mvc devexpress validationsummary pagecontrol

我在我的mvc项目中使用了devexpress Html.DevExpress().ValidationSummary。我的表单包含一个带有3个选项卡的devexpress页面控件。当存在客户端验证错误时,验证摘要会显示它们,并且每个错误都是超链接。如果单击它,则会聚焦包含错误的字段,但如果该字段位于其他选项卡上,则不会发生任何操作。因此,如果字段位于活动选项卡上,则该字段将被聚焦我希望更改活动标签并关注适当的字段。有没有办法让它正常工作?

1 个答案:

答案 0 :(得分:0)

我的同事使用javascript和jQuery解决了这个问题:

var nameControlTab = "myPageControl"; //name of your pagecontrol here

    $(document).ready(function () {
        $("tbody").on('click', 'a[href*="javascript:_aspxVSOnErrorClick("]', function () {

            var url = $(this).attr("href");
            url = url.substring(url.indexOf("'") + 1);
            url = url.substring(0, url.indexOf("'"));

            var idTab = $("#" + url + "_ET").parents('div[id*="' + nameControlTab + '_C"]').not(nameControlTab + '_CC')[0].id;

            var indexTab = idTab.substring((nameControlTab + '_C').length);

            SetTab(indexTab);

            return true;
        });
    });

function indexOf(array, value) {
        if ([].indexOf)
            return array.indexOf(value);
        else {
            for (var i = 0; i < array.length; i++)
                if (array[i] == value)
                    return i;
            return -1;
        }
    }

    function SetTab(indexTab) {
        this[nameControlTab].SetActiveTabIndex(indexTab);
    }