ASP.NETCoreMVC从单个表创建级联下拉列表(Razor)
创始人
2024-09-18 00:30:24
0

在ASP.NET Core MVC中创建级联下拉列表可以有多种方式,这里我们通过从单个表中获取数据并使用Razor视图引擎来实现。下面是解决方法的步骤和示例代码:

步骤1:创建模型 首先,我们需要创建一个模型来表示表中的数据,包括父级和子级。在本例中,我们使用Country表,其中包含ID和Name字段。

public class Country { public int ID { get; set; } public string Name { get; set; } public int? ParentID { get; set; } public Country ParentCountry { get; set; } public List ChildCountries { get; set; } }

步骤2:创建控制器 然后,我们需要创建一个控制器来获取数据并返回视图。在控制器中,我们将使用LINQ查询从数据库中获取Country数据,并将其传递给Razor视图。

public class HomeController : Controller { private readonly ApplicationDbContext _context;

public HomeController(ApplicationDbContext context)
{
    _context = context;
}

public IActionResult Index()
{
    var countries = _context.Countries.Include(x => x.ChildCountries).Where(x => x.ParentID == null).ToList();

    ViewBag.Countries = new SelectList(countries, "ID", "Name");

    return View();
}

[HttpPost]
public IActionResult Index(int? parentCountryId)
{
    if(parentCountryId == null)
    {
        return RedirectToAction("Index");
    }

    var selectedCountry = _context.Countries.Include(x => x.ChildCountries).FirstOrDefault(x => x.ID == parentCountryId);

    ViewBag.Countries = new SelectList(_context.Countries.Where(x => x.ParentID == null).ToList(), "ID", "Name", selectedCountry.ParentID);

    ViewBag.ChildCountries = new SelectList(selectedCountry.ChildCountries, "ID", "Name");

    return View();
}

}

步骤3:创建视图 最后,我们需要创建Razor视图来显示父级和子级下拉列表。在视图中,我们将使用@Html.DropDownListFor辅助方法来呈现下拉列表,并将选定值传递给控制器。

@model Country

@{ ViewData["Title"] = "Cascading Dropdown Lists From Single Table - Razor View"; }

@ViewData["Title"]

@using (Html.BeginForm()) {

@Html.Label("

相关内容

热门资讯

玩家必备攻略!德州透视hhpo... 玩家必备攻略!德州透视hhpoker,wpk俱乐部是做什么的,真是是真的有挂(有挂秘诀)所有人都在同...
9分钟了解!拱趴大菠萝有什么挂... 9分钟了解!拱趴大菠萝有什么挂,hhpoker免费辅助器,本来真的有挂(竟然有挂)9分钟了解!拱趴大...
每日必备!德州局透视,如何判断... 每日必备!德州局透视,如何判断wpk辅助软件的真假,真是存在有挂(有挂存在)1、下载好脚本下载之后点...
推荐十款!hhpoker智能辅... 推荐十款!hhpoker智能辅助插件,hhpoker免费透视脚本,好像是有挂(发现有挂)1、游戏颠覆...
普及知识!哈糖大菠萝有挂吗,a... 普及知识!哈糖大菠萝有挂吗,aa poker透视软件,好像真的有挂(有挂实锤)1、金币登录送、破产送...
我来教教你!wpk辅助插件,佛... 我来教教你!wpk辅助插件,佛手在线大菠萝辅助,本来存在有挂(有挂透视)运佛手在线大菠萝辅助辅助工具...
分辨真假!pokernow辅助... 分辨真假!pokernow辅助控制,wepoker好友助力码,一贯有挂(有挂分析)小薇(辅助器软件下...
最新技巧!fishpoker透... 最新技巧!fishpoker透视底牌,wpk透视辅助靠谱吗,总是是真的有挂(有挂秘笈)1、最新技巧!...
三分钟了解!wpk有作弊吗,有... 三分钟了解!wpk有作弊吗,有哪些免费的wpk作弊码,总是真的是有挂(有挂细节)在进入软件靠谱后,参...
带你了解!wpk私人局辅助是真... 带你了解!wpk私人局辅助是真的吗,sohoo辅助,总是真的是有挂(证实有挂)1、玩家可以在线上大神...