0

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

这是代码。

     <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|Home|Home|~/NewVersion/test2.aspx
10|9|SingleBuilding|SingleBuilding|~/NewVersion/test2.aspx
11|9|GroupBuilding|GroupBuilding|~/NewVersion /test2.aspx
2|1|土地|土地|~/NewVersion/test2.aspx
3|2|土地块|土地块|~/NewVersion/test2.aspx
4|2|土地成本|土地成本|~/NewVersion/test2.aspx
5 |3|Voucher|Voucher|~/NewVersion/test2.aspx
6|3|Query|Query|~/NewVersion/test2.aspx
7|4|Voucher|Voucher|~/NewVersion/test2.aspx
8|4|Query|查询|~/NewVersion/test2.aspx
9|1|BuildingInfo|BuildingInfo|~/NewVersion/test2.aspx

另一个问题:我阅读了 Telerik 的说明,分层项的 ParentID 的根应该为null,但这会导致错误。

我应该怎么办 ?提前致谢。

4

2 回答 2

0

使根元素的 ParentID 列值为空。

1|1|Home|Home|~/NewVersion/test2.aspx
于 2017-12-28T07:23:37.983 回答
0

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

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

于 2015-08-22T09:37:06.417 回答