我正在使用 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,但这会导致错误。
我应该怎么办 ?提前致谢。