我的视图中有三个选项卡(单击时启用div),在tab3中我有删除功能。当我在确认框中单击“确定”时,该记录将被删除并重定向到我的视图,即tab1启用。
我的控制器:
public ActionResult DeleteAccount(int? id)
{
if(id.HasValue)
{ this.UserAccountTasks.DeleteUserProfile(id.Value); }
return this.RedirectToAction("ManageCompanies");
}
删除后如何重定向到同一个tab3?
答案 0 :(得分:1)
从这开始:
return RedirectToAction("ManageCompanies", new { showThirdTab = true });
在ManageCompanies Action中,接受一个名为showThirdTab的bool参数。将其传递给您的视图,如果确实如此,请设置一个类或一些值,以告诉您的javascript切换到该标签。
有点偏离主题,但我可以建议采用不同的方法吗?只需在删除后异步返回三个选项卡的data / html,然后使用jQuery将其加载到其他div中。
答案 1 :(得分:0)
我已列出以下方式,可能会有更多!
1.选项卡中的所有操作都应该使用ajax调用完成。
2.使用Html和模型数据操作。
<强>步骤:强>
A)。在模型中创建一个属性,“ActiveTab”类型为整数
B)。在视图中,
@{
//We can also use the array
string activeTabCss1 =Model.ActiveTab == 1? "active-tab":String.Empty ;
string activeTabCss2 = Model.ActiveTab == 2? "active-tab":String.Empty ;
string activeTabCss3 = Model.ActiveTab == 3? "active-tab":String.Empty ;
}
<div class="tab @activeTabCss1"></div>
<div class="tab @activeTabCss2"></div>
<div class="tab @activeTabCss3"></div>
3.使用jquery来操作DOM元素。
<强>步骤:强>
A)。按照步骤2.a
B)。在视图中,为ActiveTab创建一个隐藏。
@Html.HiddenFor(m=>m.ActiveTab)
C)。写下面的javascript函数。
$(document).ready(function(){
var activeTab = $("#ActiveTab").val();
$(".tab:nth-child("+activeTab +")").addClass('active-tab');
});