【问题标题】:ValidationSummary hyperlink doesn't change tabValidationSummary 超链接不会更改选项卡
【发布时间】:2014-04-11 10:55:55
【问题描述】:
我在我的 mvc 项目中使用 devexpress Html.DevExpress().ValidationSummary。我的表单包含一个带有 3 个选项卡的 devexpress 页面控件。当存在客户端验证错误时,验证摘要会显示它们,并且每个错误都是超链接。如果单击它,则会聚焦有错误的字段,但如果该字段位于其他选项卡上,则不会发生任何事情。因此,如果该字段位于活动选项卡上,则该字段将被聚焦。我希望它更改活动选项卡并关注适当的字段。有没有办法让它正常工作?
【问题讨论】:
标签:
asp.net-mvc
devexpress
validationsummary
pagecontrol
【解决方案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);
}