从 asp.net 中的另一个页面重定向到特定选项卡

Redirect to specific tab from another page in asp.net

大家好,我在 asp.net mvc 4 中使用 Bootstrap 3,我正在尝试使用 bootstrap 制作标签。我希望其他页面在单击时重定向到特定选项卡。我是 asp.net 的新手,所以我不知道该怎么做。这是我的代码,

包含选项卡的页面(Service_BO.cshtml)

<div class="container well" style="min-width: 100%; padding-right: 5px;">
    <h3>BO Account Opening</h3><hr style="border-top: 2px solid #096596;" />
    <ul class="nav nav-tabs">
        <li><a href="#bo" role="tab" data-toggle="tab">BO Account Opening</a></li>
        <li><a href="#ipo" role="tab" data-toggle="tab">IPO Application</a></li>
        <li><a href="#smi" role="tab" data-toggle="tab">Share Market Investment</a></li>
    </ul>
    <div class="tab-content">
        <div class="tab-pane active" id="bo">
            <p>BO</p>
        </div>
        <div class="tab-pane" id="ipo">
            <p>IPO</p>
        </div>
        <div class="tab-pane" id="smi">
            <p>SMI</p>
        </div>
    </div>
</div>

外页(Services.cshtml>

<div class="col-sm-6 col-md-3">
    <img class="img-rounded img-responsive" src="~/Images/modhumita01.jpg" />
    <a href="@Url.Action("Service_BO", "Home")><h3>BO Account Opening</h3></a>
    <span><b>Open an individual and/or joint account</b></span>
</div>

有什么方法可以通过单击其他页面上的 link 重定向到特定选项卡?如果有人能帮助我,那将是救命之恩。 Tnx.

您可以解析控制器中的活动选项卡并将值传递给视图(在您的 ViewModel 或 ViewBag 中)。然后就可以用jquery设置active class:

控制器

//empty value or a default
var activeTab = "bo";

//selecting active tab logic here
//...
ViewBag.Active = activeTab;

Service_BO.cshtml

@{
    //value is 'bo', 'ipo' or 'smi'
    string active = ViewBag.Active.ToString(); 
}

<script>
$(function () {
    var selector = '@active';
    $("#" + selector).addClass("active");
});
</script>

可以根据上面评论中显示的link做这样的事情

/* page load */
$(function(){
  var hash = window.location.hash;
  hash && $('ul.nav a[href="' + hash + '"]').tab('show');  


  /* add hash to url when tabs selected (for bookmarking) */
  $('.nav-tabs a').on('shown', function (e) {
      window.location.hash = this.hash;
  });
});