c# - 我需要像树结构一样在下拉列表中显示数据,我尝试过但无法在 ASP.Net 中正确显示

标签 c# asp.net sql sql-server tree-structure

我正在开发一个支持多种语言的 CMS,我希望下拉菜单显示类似于下面示例创建的“pageNames”

Home Page
Second Page
-Child Page1
-Child Page2
Third Page
-Child Page1
-Child Page2
-Child Page3
--Sub Child Page1
--Sub Child Page2

下面是我用来存储页面的表结构。我尝试使用 SQL 和 C# 代码,但无法正确执行。如果有人可以向我发送 SQL 查询(如果仅使用 SQL 查询就可以实现)或向我展示 C# 中的代码片段来执行此操作,我将不胜感激。

从我这边来看,我的表结构看起来很好,也欢迎对此结构进行任何更改以提高性能

tbl_Language

LangID int   -- PK
LangName nVarchar(20) -- English, Arabic, Spanish
Lang_Code varchar(6)  -- en-US, ar-AE etc

tbl_Pages

pageID int
PageName nVarchar(50)
pageTitle nVarchar(200)
pageDesc nVarchar(400)
pageBody nVarchar(Max)
.....
.....
PageParent int
LangID int  -- FK
....
....

提前致谢

最佳答案

如果你想在 sql 端执行此操作,请使用 Common Table Expressions 编写递归查询以遍历 sql 端页面的树结构。

查看这些链接以获取更多信息:

关于c# - 我需要像树结构一样在下拉列表中显示数据,我尝试过但无法在 ASP.Net 中正确显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8756216/

相关文章:

c# - Elasticsearch-Nest-特定搜索

asp.net - 写入操作期间发生磁盘错误。 (来自 HRESULT : 0x8003001D (STG_E_WRITEFAULT)) 的异常

用于查找客户交互的 MySQL 查询

mysql - 从 .csv 文件加载表格数据的最快方法?

mysql - 计入 SELECT DISTINCT 查询?

c# - 如何将网格中的图像控件居中?

c# - VB.NET 中的字符串包含 IgnoreCase

c# - 如何继承TreeNode类?

javascript - session 值 ASP.NET 中的简单逗号

asp.net - Chrome 87 在针对 Windows IIS 10 的 CORS 中的 Windows 身份验证失败