我有以下代码,其中在控制器中设置了'SelectedTabToFind‘。这用于验证,以便显示正确的选项卡。
$("#tabs").tabs(
{
active: $("#SelectedTabToFind").val(),
cache: false
});
<div id="tabs">
<ul>
<li><a href="#tabs-1" title="View">View</a></li>
<li><a href="#tabs-2" title="Update">Update</a></li>
<li><a href="#tabs-3" title="Validate">Validate</a></li>
<li><a href="#tabs-4" title="Notes">Notes</a></li>
</ul>
<div id="tabs-1">
@Html.Partial("View",Model)
</div>
<div id="tabs-2">
@Html.Partial("Update",Model)
</div>
<div id="tabs-3">
@Html.Partial("Validate",Model.ValidateModel)
</div>
<div id="tabs-4">
@Html.Partial("Notes", Model)
</div>
视图选项卡-显示信息
更新选项卡-可以在选项卡上更新信息
验证选项卡-可以在选项卡上更新信息
备注选项卡-显示带有单独页面的信息列表和选项卡,以添加/更新便笺。
验证工作并正确显示更新和验证选项卡。当我添加/更新便笺时,重定向不起作用,因为它与选项卡一起使用单独的页面。
我以前曾使用以下代码重定向到选项卡
return Redirect(Url.Action("View", new { id = note.Id }) + "#tabs-4");这不适用于上面的代码。
如果我注释掉“active”,它就会正常工作。
$("#tabs").tabs(
{
//active: $("#SelectedTabToFind").val(),
cache: false
});如何重定向到正确的选项卡,但保留活动选项以进行验证?
发布于 2015-07-16 14:23:34
借助JQuery UI选项卡:如何从另一个页面直接导航到一个选项卡?
验证表单时会显示正确的选项卡,而来自另一个页面的重定向也同样有效。
视图页
if (document.location.hash != '')
{
var tabSelect = document.location.hash.substr(1, document.location.hash.length);
//Used to return to tab using return Redirect(Url.Action("View", new { id = note.Id }) + "#4");
$("#tabs").tabs(
{
active: tabSelect,
cache: false
});
}
else
{
$("#tabs").tabs(
{
//Used to return to tab using return ViewModel.SelectedTab = 2;
active: $("#SelectedTabToFind").val(),
cache: false
});
}用于控制器中的备注部分
return Redirect(Url.Action("View", new { id = note.Id}) + "#4");用于控制器中的更新和验证部分
ViewModel.SelectedTab = 2;https://stackoverflow.com/questions/31408414
复制相似问题