在局部视图中使用导航标签重新加载其他局部视图

时间:2018-07-09 23:46:21

标签: c# .net partial-views

我在这里查看了很多答案,但找不到可以帮助我的答案。

我有一个包含两个局部视图的视图(A和B)。我想在局部视图A中放置一些选项卡,当我选择一个选项卡时,用所选页面重新加载局部视图B。因此,如果我有一个登录页面和一个About页面,并且我处于部分视图B的登录页面中,那么我将在部分视图A中具有指向两个页面的链接,当我单击“关于”页面链接时,它将重新加载部分视图具有“关于”局部视图的。

这是我的标签局部视图:

<div>
    <ul class="nav nav-tabs">
        <li class="nav-item">
            @Html.ActionLink("Login", "Home")
        </li>
        <li class="nav-item">
            @Html.ActionLink("About", "Home")
        </li>
    </ul>
</div>

然后调用我的Index来呈现我的视图:

<div id="partial">
    @Html.Partial("_Tabs")
    @using (Html.BeginForm())
    {
        @Html.Partial(ViewData["BottomView"].ToString());
        <br />
        <input type="submit" />
    }
</div>

还有我的控制器类HomeController:

namespace PVDemo.Controllers
{

public class HomeController : Controller
{

    public ActionResult Index()
    {
        ViewData["BottomView"] = "_Login";
        return View();
    }

    [HttpPost]
    public ActionResult Index(Login theLogin)
    {
        if (theLogin.Username.Equals("V") && theLogin.Password.Equals("P"))
        {
            ViewData["BottomView"] = "_About";
        }
        else
        {
            ViewData["BottomView"] = "_Login";
        }

        return View();
    }

    [ChildActionOnly]
    public ActionResult Login()
    {
        ViewData["BottomView"] = "_Login";
        return View();
    }

    [ChildActionOnly]
    public ActionResult About()
    {
        ViewData["BottomView"] = "_About";
        return View();
    }

}
}

0 个答案:

没有答案