繁体   English   中英

链接表列值 ASP.NET Core

[英]Link table column values ASP.NET Core

我正在制作一个网站仪表板来管理一些值。 我想将一个名为 Category 的表中的列链接到另一个名为 Menu 的表中,在这两个表中我都有一个 Category 列,当我在视图上显示它们时,我想按类别显示它们。 这是我当前显示菜单表的方式:

<section id="pt2">
    <h2>Menu</h2>
    <table id="dataTable">
        <thead>
            <tr>
                <th>Id</th>
                <th>Name</th>
                <th>Description</th>
                <th>Price</th>
            </tr>
        </thead>
        <tbody>
            @{int rowCounterMenu = -1;}
            @foreach (var menu in Model.Menu)
            {
                rowCounterMenu++;
                <tr>
                    <form class="dataFormMenu" asp-controller="Administration" asp-action="UpdateMenu" method="post">

                    <th>@menu.Id</th>
                    <th>
                        <div class="nameColumnMenu">@menu.Name</div>

                        <input hidden name="Id" value="@menu.Id" />
                        <input class="editNameColumnMenu" name="Name" placeholder="Name" value="@menu.Name" />

                    </th>
                    <th>
                        <div class="descriptionColumnMenu">@menu.Description</div>
                        <input class="editDescriptionColumnMenu" name="Description" placeholder="Description" value="@menu.Description" />
                    </th>
                    <th>
                        <div class="priceColumnMenu">@menu.Price kr</div>
                        <input class="editPriceColumnMenu" name="Price" placeholder="Price" value="@menu.Price" />
                    </th>
                    <th class="manage">
                        <button type="button" class="editButtonMenu" onclick="displayEditMenu(@rowCounterMenu)">Edit</button>
                        <a onclick="document.getElementsByClassName('dataFormMenu')[@rowCounterMenu].submit();" class="saveButtonMenu">Save</a>
                        <p>|</p>
                        <a asp-action="DeleteMenuItem" asp-route-id="@menu.Id">Delete</a>
                    </th>
                    </form>
                </tr>
            }
            <tr>
                <form class="dataFormAddMenuItem" asp-controller="Administration" asp-action="CreateMenuItem" method="post">
                <th><input name="Name" placeholder="Name"/></th>
                <th><input name="Description" placeholder="Description" /></th>
                <th><input name="Price" placeholder="Price" /></th>
                <th class="manage">
                    <input type="submit" value="submit" />
                </th>
                </form>
            </tr>
        </tbody>
    </table>

</section>

在我的 controller 中:

public async Task<IActionResult> Index()
        {
            dynamic mymodel = new ExpandoObject();

            var users = await ApplicationDbContext.Users.ToListAsync(); // Theese are other tables I display
            var daily = await ApplicationDbContext.Daily.ToListAsync(); // Theese are other tables I display
            var menu = await ApplicationDbContext.Menu.ToListAsync();

            mymodel.Users = users;
            mymodel.Daily = daily;
            mymodel.Menu = menu;

            return View(mymodel);

            
        }

如何在我的视图中仅显示具有特定“类别”类型的项目? 预先感谢!

这是我的 SQL 结构的一些图像。

[![菜单 SQL 结构][1]][1] [![类别 SQL 结构][2]][2]

最好的问候马克斯

Menu SQL Structure [1]: https://i.stack.imgur.com/KXXie.png Category SQL Structure [2]: https://i.stack.imgur.com/VCH1n.png

我认为这不是解决此问题的完美方法,但我通过将视图更改为 select 来修复它,其中可供选择的项目仅来自类别表。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM