То, что вы пытаетесь сделать, не работает, потому что событие щелчка jquery сработает, прежде чем вы будете перенаправлены на новую страницу. Вы можете это так.
У вас могут быть ваши ссылки для отправки другого параметра.
@Html.ActionLink("Racing", "Reports", "Reports", null, null, "RacingFilter", new { tab = "RacingTab" }, new { @id = "RacingId" })
@Html.ActionLink("Sire", "Reports", "Reports", null, null, "SireReportsFilter", new { tab = "SireTab" }, new { @id = "SireId" })
В вашем контроллере вы извлекаете это значение и сохраняете его в Viewbag или добавляете в свою модель, чтобы передать на страницу.
public ActionResult Reports(string tab)
{
this.ViewBag.Tab = tab;
return this.View(Model);
}
и в вашем отчете вы можете сделать это
<script>
$(document).ready(function() {
$("#@ViewBag.Tab").tab('show');
});
</script>
<ul class="nav nav-tabs">
<li><a id="RacingTab" data-toggle="tab" href="#racing">Racing Reports</a></li>
<li><a id="SireTab" data-toggle="tab" href="#sire">Sire Reports</a></li>
</ul>
<div class="tab-content">
<div id="racing" class="tab-pane fade">
@Html.Partial("~/Views/Racing/Racing.cshtml", Model.clsRacing)
</div>
<div id="sire" class="tab-pane fade">
@Html.Partial("~/Views/SireReports/SireReports.cshtml", Model.clsSireReports)
</div>
</div>
Это должно сработать.
Не забывайте, что Viewbag будет выполнять только один запрос, поэтому, если вы выполняете какое-либо перенаправление на контроллере, вам нужно немного настроить.