【问题标题】:Layout page in dot net core not showing changes on click from Index pagedot net core 中的布局页面未显示从索引页面单击时的更改
【发布时间】:2023-03-29 01:35:01
【问题描述】:

我在布局页面上有菜单,我需要在点击索引视图上的按钮时启用它们 在“索引”按钮单击上,我调用了控制器操作,该操作使用视图包设置标志,然后如果通过检查布局页面上的条件设置了标志,则启用菜单,条件已正确检查但仍未启用菜单,但如果我单击任何其他按钮,然后菜单正在启用

Layout.cshtml

 @if (@ViewBag.Enable == "true" || Context.Session.GetString("CustomerCode") == null)
                        {
                            <a href="#OCLegacy" data-toggle="collapse" aria-expanded="false" style="color:gray" class="bg-dark list-group-item list-group-item-action flex-column align-items-start disabled">
                                <div class="d-flex w-100 justify-content-start align-items-center">
                                    <span class="bi bi-diamond-fill fa-fw mr-3"></span>
                                    <span class="menu-collapsed">OC-Legacy</span>
                                    <span class="submenu-icon ml-auto"></span>
                                </div>
                            </a>
                        }

索引.cshtml

 <a asp-action="Index" style="align-self:self-end"  data-id="@customer.CustomerCode"
                          
                           class="btn btn-primary ManageSelect">

从控制器调用索引操作

【问题讨论】:

    标签: asp.net-core indexing layout dot


    【解决方案1】:

    这是ViewBag.Enable 的演示。将@customer.CustomerCode 传递给操作,如果它不为null,则将ViewBag.Enable 设置为true。否则,将ViewBag.Enable 设置为false。如果ViewBag.Enable 为true,则启用菜单。 布局:

    @if (@ViewBag.Enable != "true")
                {
                    <a href="#OCLegacy" data-toggle="collapse" aria-expanded="false" style="color:gray" class="bg-dark list-group-item list-group-item-action flex-column align-items-start disabled">
                        <div class="d-flex w-100 justify-content-start align-items-center">
                            <span class="bi bi-diamond-fill fa-fw mr-3"></span>
                            <span class="menu-collapsed">OC-Legacy</span>
                            <span class="submenu-icon ml-auto"></span>
                        </div>
                    </a>
                }
                else { 
                    <a href="#OCLegacy" data-toggle="collapse" aria-expanded="false" style="color:gray" class="bg-dark list-group-item list-group-item-action flex-column align-items-start">
                        <div class="d-flex w-100 justify-content-start align-items-center">
                            <span class="bi bi-diamond-fill fa-fw mr-3"></span>
                            <span class="menu-collapsed">OC-Legacy</span>
                            <span class="submenu-icon ml-auto"></span>
                        </div>
                    </a>
                }
    

    索引(asp-route-id@customer.CustomerCode 作为参数 id 传递给操作):

    <a asp-action="Index" style="align-self:self-end" asp-route-id="@customer.CustomerCode" data-id="@customer.CustomerCode"
                              
                               class="btn btn-primary ManageSelect">
    

    行动:

    public IActionResult Index(string id)
    {
        if (id != null)
        {
            ViewBag.Enable = "true";
        }
        else
        {
            ViewBag.Enable = "false";
        }
       
        return View();
    }
    

    结果:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-09
      • 2020-07-24
      • 2014-10-23
      • 1970-01-01
      • 2020-10-04
      • 2016-06-29
      • 1970-01-01
      • 2018-12-18
      相关资源
      最近更新 更多