ValidationSummary 超链接不会更改选项卡

Posted

技术标签:

【中文标题】ValidationSummary 超链接不会更改选项卡【英文标题】:ValidationSummary hyperlink doesn't change tab 【发布时间】:2014-04-11 10:55:55 【问题描述】:

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

【问题讨论】:

DevExpress 版本 - 13.1 【参考方案1】:

我的同事使用 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);
    

【讨论】:

以上是关于ValidationSummary 超链接不会更改选项卡的主要内容,如果未能解决你的问题,请参考以下文章

gridview中的超链接不会改变颜色

ASP.NET MVC Html.ValidationSummary(true) 不显示模型错误

如何使用 jQuery 更改超链接的 href 属性

如何使用 python 更改 pdf 中的超链接?

更改 Ionic Toast 中的超链接颜色

如何使用 jQuery 更改超链接的 href? [复制]