【问题标题】:I need to show data in a drop down like a tree structure, I tried but could not get it right in ASP.Net我需要像树形结构一样在下拉列表中显示数据,我尝试过但在 ASP.Net 中无法正确显示
【发布时间】:2012-01-06 10:12:11
【问题描述】:

我正在开发一个支持多种语言的 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# 中的代码 sn-p 来执行此操作,我将不胜感激。

在我看来,我的表结构看起来不错,也欢迎对此结构进行任何更改以提高性能

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
....
....

提前致谢

【问题讨论】:

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


    【解决方案1】:

    如果您想在 sql 端执行此操作,请使用通用表表达式编写递归查询以遍历 sql 端的页面树结构。

    查看这些链接了解更多信息:

    【讨论】:

    • 谢谢,我会看看我是否可以根据我的需要修改脚本
    • 我尝试了一个代码,但它没有在下拉列表中给出我需要的确切信息
    • 你可以在应用程序中做进一步的处理,sql不是你想做的好语言。
    【解决方案2】:

    您是否考虑过使用hierarchyid?见:http://msdn.microsoft.com/en-us/library/bb677173(v=sql.100).aspx

    当然,您需要 Sql 2008 或更高版本,但它适用于您正在尝试做的事情。

    【讨论】:

      猜你喜欢
      • 2018-08-08
      • 1970-01-01
      • 2013-12-20
      • 1970-01-01
      • 1970-01-01
      • 2014-06-25
      • 1970-01-01
      • 2018-05-13
      • 2016-05-10
      相关资源
      最近更新 更多