RadMenu动态数据绑定并不显示

时间:2015-08-21 16:56:12

标签: c# asp.net telerik radmenu

我正在使用SQL Server 2012和VS2013。 我想设计一个动态Radmenu(Telerik),它与sql server数据绑定。但它没有在运行时显示,也没有发生错误。

这是代码。

     <telerik:RadScriptManager runat="server" ></telerik:RadScriptManager>
        <telerik:RadMenu ID="RadMenu1" runat="server" style="top: 0px; left: 0px; width: 800px;height:auto"
             Skin="Metro">
        </telerik:RadMenu>

代码隐藏

   protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            myCnn = new SqlConnection(myCnnstring);
            myCnn.Open();
            mysql = "select * from SYS_Menu";
            mycmd = new SqlCommand(mysql, myCnn);
            myda = new SqlDataAdapter(mycmd);
            myds = new DataSet();
            myda.Fill(myds);
            mydt = new DataTable();
            mydt = myds.Tables[0];

            RadMenu1.DataSource = mydt;
            RadMenu1.DataFieldID = "PK_ID";
            RadMenu1.DataFieldParentID = "ParentID";
            //Set Text, Value, and NavigateUrl:    
            RadMenu1.DataTextField = "TextField";
            RadMenu1.DataValueField = "PK_ID";
            RadMenu1.DataNavigateUrlField = "URL";
            RadMenu1.MaxDataBindDepth = -1;
            RadMenu1.DataBind();
            myCnn.Close();
        } 
    }

表Sys_menu

PK_ID | PARENTID |的TextField | ValueField | URL
1 | 1个|首页|首页|〜/ NEWVERSION / test2.aspx
10 | 9 | SingleBuilding | SingleBuilding |〜/ NEWVERSION / test2.aspx
11 | 9 | GroupBuilding | GroupBuilding |〜/ NEWVERSION / test2.aspx
2 | 1块|土地|土地|〜/ NEWVERSION / test2.aspx
3 | 2 | LandBlock | LandBlock |〜/ NEWVERSION / test2.aspx
4 | 2 | LandCost | LandCost |〜/ NEWVERSION / test2.aspx
5 | 3 |券|券|〜/ NEWVERSION / test2.aspx
6 | 3 |查询|查询|〜/ NEWVERSION / test2.aspx
7 | 4 |券|券|〜/ NEWVERSION / test2.aspx
8 | 4 |查询|查询|〜/ NEWVERSION / test2.aspx
9 | 1 | BuildingInfo | BuildingInfo |〜/ NEWVERSION / test2.aspx

另一个问题:我读了Telerik的说明,层次结构项的ParentID的根应该是 null ,但它会导致错误。

我该怎么办?提前谢谢。

2 个答案:

答案 0 :(得分:0)

这可能是由于父节点在其ParentId列中没有NULL。

在将菜单绑定到数据之前,您可以修改数据(设置空值)吗?

答案 1 :(得分:0)

make root元素的ParentID列值为null。

1|1|Home|Home|~/NewVersion/test2.aspx