在asp net core实体框架mvc中从数据库绑定菜单和子菜单

里沙布

我在数据库行业和类别中有 2 个表。它们在表中使用 IndustryId 作为主键和外键进行连接。现在我想将 Industry 显示为我的主菜单项,将相关类别显示为我各自行业的子菜单项。我正在使用 asp net mvc enity 框架作为我与 Visual Studio 2017 的编码架构。这是我在这个架构上的第一个应用程序,我想要一个简单的解释,包括模型视图和控制器一步一步。我之前已经在 asp net web 表单上完成了这个绑定没有 mvc。但是实体框架似乎与以前的版本完全不同。

芒泽

根据用户评论进行编辑,他想在加载时绑定数据,制作嵌套列表,我会留下我的旧答案,因为它可能会帮助其他人,我也会添加新答案,我的建议是您将行业列表传递为一个 ViewBag,因为在与行业表相关的行业 ID 的类别中有外键,ef 将检测该关系并将其表示在您的行业模型中virtual Collection<Category> Categories,这表示与该行业相关的所有类别。你可以做的是传递它然后使用剃刀语法在你的控制器的视图中做这样的事情你将它作为viewbag传递

 ViewBag.Industries = dbContext.Industries.Include(x => x.Categories).ToList();

那么在你看来

    <!-- init your list -->
                <ul>
    <!-- loop through your viewbag -->
                foreach (var x in (List<Industry>) ViewBag.Industries)
                {
                  <li> x.IndustryName
    <!-- init your sub menu -->               
    <ul>
    <!-- loop through your categories of this industry x -->
    foreach(var c in x.Categories)
    { 
    <li> c.CategoryName </li>
    } 
                  </ul>
                  </li>
                }
<!-- loop end, close your list -->
</ul>

对于希望根据另一个菜单值动态更新菜单内容的人,请阅读以下内容:

我解决这个问题的方法是,首先创建接受行业ID并返回列表或类别的操作,每当我的行业ID列表在前端(更改事件侦听器)发生变化时,我都会使用ajax调用此操作,然后将返回作为对象列表,使用 jquery 将数据绑定到我的子菜单。就像是

public ActionResult GetCategories(int IndustryID)
{
// this simple select query, retrieves all categories that have industry id provided 
var categories = dbContext.Categories.Where(c => c.IndustryId == IndustryID).ToList();
return Json(categories);
}

阿贾克斯代码

 // industryId is the id of industry in your view, apply change event listener
$('#industryId').change(function () {
          // ajax call, get data
            $.ajax({
                type: "POST",
                url: '@Url.Action("GetCategories", "controllerhere")',
                data: { IndustryID: this.value},
                dataType: "json"
            }).done(function(data){
                  // Data recieved, get categories list, empty it, bind the new data 
                   var ddl = $("#categoriesList");
                ddl.empty();
                ddl.append($('<option>', {value: 0,text: 'Select'})); //Newly added
               // categoryID and CategoryName are properties in your category, these Names I assumed, they might change depending on your Model 
                $.each(data, function () {
                    ddl.append($('<option></option>').attr("value", this.CategoryID).text(this.CategoryName));
                });
            });
        });

我希望这回答了您的问题,我不确定您所说的实体框架不同是什么意思,您可以问我更具体的问题,也许我可以提供帮助

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在不使用ASP.NET MVC4中的实体框架的情况下从数据库检索图像

来自分类Dev

ASP.NET MVC 4数据库实体错误

来自分类Dev

如何在没有实体框架的ASP.NET中使用Oracle数据库?

来自分类Dev

将JSON数据对象存储到ASP.NET MVC(实体框架)中的数据库

来自分类Dev

如何使用实体框架将二进制图像从数据库加载到asp.net中的imagebox.imageurl(NO MVC)

来自分类Dev

实体框架数据库首先发布加载相关实体(ASP.NET Web API)

来自分类Dev

登录到ASP.NET Core MVC 6中的数据库

来自分类Dev

具有Identity和ASP.NET Core RC2的实体框架Core无法在数据库中创建用户

来自分类Dev

没有实体框架的情况下如何连接到ASP.NET Core中的数据库?

来自分类Dev

如何从ASP.NET Core中的实体框架中的数据库更新VS 2019中的模型

来自分类Dev

在ASP.NET Core MVC中通过控制器从数据库读取信息

来自分类Dev

在带有实体框架核心的ASP.NET Core WebAPI中使用“数据库生成的”处理属性

来自分类Dev

从数据库返回一个字段的值[实体框架] [ASP.NET MVC]

来自分类Dev

使用实体框架和SQL Server数据库无法访问ASP.NET MVC Web应用程序中的数据

来自分类Dev

如何基于特定值查询数据库中的列MVC ASP.NET Core

来自分类Dev

使用ASP.NET CORE从选项菜单向数据库中插入数据时出现问题

来自分类Dev

从ASP.NET Core MVC中的SQL数据库访问用户ICollection

来自分类Dev

如何在不使用ASP.NET MVC4中的实体框架的情况下从数据库检索图像

来自分类Dev

ASP.NET MVC默认身份模型与自己的实体框架代码合并,首先是mssql数据库

来自分类Dev

将JSON数据对象存储到ASP.NET MVC(实体框架)中的数据库

来自分类Dev

如何使用实体框架将二进制图像从数据库加载到asp.net(NO MVC)中的imagebox.imageurl

来自分类Dev

在ASP.Net MVC中管理数据库连接

来自分类Dev

努力使用实体框架将数据保存到ASP.NET MVC中的数据库

来自分类Dev

实体框架7将现有数据库表转换为asp.net mvc中的代码第一类6

来自分类Dev

具有Identity和ASP.NET Core RC2的实体框架Core无法在数据库中创建用户

来自分类Dev

没有实体框架数据库连接的ASP.NET MVC

来自分类Dev

在asp.net mvc中从数据库中选择多个实体

来自分类Dev

ASP.NET MVC 中的数据绑定

来自分类Dev

如何使用 ASP.NET MVC 剃刀中的实体框架检查数据库中是否存在记录?

Related 相关文章

  1. 1

    如何在不使用ASP.NET MVC4中的实体框架的情况下从数据库检索图像

  2. 2

    ASP.NET MVC 4数据库实体错误

  3. 3

    如何在没有实体框架的ASP.NET中使用Oracle数据库?

  4. 4

    将JSON数据对象存储到ASP.NET MVC(实体框架)中的数据库

  5. 5

    如何使用实体框架将二进制图像从数据库加载到asp.net中的imagebox.imageurl(NO MVC)

  6. 6

    实体框架数据库首先发布加载相关实体(ASP.NET Web API)

  7. 7

    登录到ASP.NET Core MVC 6中的数据库

  8. 8

    具有Identity和ASP.NET Core RC2的实体框架Core无法在数据库中创建用户

  9. 9

    没有实体框架的情况下如何连接到ASP.NET Core中的数据库?

  10. 10

    如何从ASP.NET Core中的实体框架中的数据库更新VS 2019中的模型

  11. 11

    在ASP.NET Core MVC中通过控制器从数据库读取信息

  12. 12

    在带有实体框架核心的ASP.NET Core WebAPI中使用“数据库生成的”处理属性

  13. 13

    从数据库返回一个字段的值[实体框架] [ASP.NET MVC]

  14. 14

    使用实体框架和SQL Server数据库无法访问ASP.NET MVC Web应用程序中的数据

  15. 15

    如何基于特定值查询数据库中的列MVC ASP.NET Core

  16. 16

    使用ASP.NET CORE从选项菜单向数据库中插入数据时出现问题

  17. 17

    从ASP.NET Core MVC中的SQL数据库访问用户ICollection

  18. 18

    如何在不使用ASP.NET MVC4中的实体框架的情况下从数据库检索图像

  19. 19

    ASP.NET MVC默认身份模型与自己的实体框架代码合并,首先是mssql数据库

  20. 20

    将JSON数据对象存储到ASP.NET MVC(实体框架)中的数据库

  21. 21

    如何使用实体框架将二进制图像从数据库加载到asp.net(NO MVC)中的imagebox.imageurl

  22. 22

    在ASP.Net MVC中管理数据库连接

  23. 23

    努力使用实体框架将数据保存到ASP.NET MVC中的数据库

  24. 24

    实体框架7将现有数据库表转换为asp.net mvc中的代码第一类6

  25. 25

    具有Identity和ASP.NET Core RC2的实体框架Core无法在数据库中创建用户

  26. 26

    没有实体框架数据库连接的ASP.NET MVC

  27. 27

    在asp.net mvc中从数据库中选择多个实体

  28. 28

    ASP.NET MVC 中的数据绑定

  29. 29

    如何使用 ASP.NET MVC 剃刀中的实体框架检查数据库中是否存在记录?

热门标签

归档