我想在点击MVC中的链接时打开相应的视图。
_Layout
<li>@Html.ActionLink("Racing", "Reports", "Reports", null, null, "RacingFilter", null, new { @id = "RacingId" })</li>
<li>@Html.ActionLink("Sire", "Reports", "Reports", null, null, "SireReportsFilter", null, new { @id = "SireId" })</li>报告视图
<ul class="nav nav-tabs">
<li><a data-toggle="tab" href="#racing">Racing Reports</a></li>
<li><a 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>Jquery
$('#RacingId').click(function (e)
$('#racing').show();
});发布于 2018-08-28 18:01:52
您正在尝试做的事情并不起作用,因为jquery click事件将在您被重定向到新页面之前触发。你可以这样做。
你可以让你的another链接发送另一个参数。
@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);
}在您的reports视图中,您可以这样做
<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只能支持一个请求,所以如果你在控制器上做任何重定向,那么你需要做一些小调整。
https://stackoverflow.com/questions/52054034
复制相似问题