Em đang tập viết module cho DotNetNuke.
Em viết cái module Menu bên trái, có vấn đề xảy ra khi em build module. Nó hiện thông báo lỗi như sau ạ .
Có lỗi nghiêm trọng xảy ra.
Index (zero based) must be greater than or equal to zero and less than the size of the argument list..
Đoạn code của em đây.
Mã:
private string DisplayMenu()
{
//Get Data from Database
string sConnectionString = ConfigurationManager.ConnectionStrings["SiteSqlServer"].ConnectionString;
SqlConnection objCon = new SqlConnection(sConnectionString);
string strSql ="SELECT CateID,CateName,PaID FROM Dynamic ";
SqlCommand objCommand = new SqlCommand(strSql, objCon);
objCon.Open();
SqlDataReader dataReader = objCommand.ExecuteReader();
dtPage.Load(dataReader);
objCon.Close();
//Display root menu (with parentid=0)
sbMenu.Append("<ul for (int i = 0; i < dtPage.Rows.Count; i++)
{
if (dtPage.Rows[i]["paID"].ToString() == "0")
{
sbMenu.AppendFormat("<li> <a href=\"{0}\">{1}</a>", dtPage.Rows[i]["CateName"]);
RecursiveMenu((Int32)dtPage.Rows[i]["CateID"]);
}
}
sbMenu.Append("</ul>");
return sbMenu.ToString();
}
private void RecursiveMenu(Int32 paID)
{
List<DataRow> lstChilds = new List<DataRow>();
for (Int32 i = 0; i < dtPage.Rows.Count; i++)
{
if ((Int32)dtPage.Rows[i]["paID"] == paID)
{
lstChilds.Add(dtPage.Rows[i]);
}
}
if (lstChilds.Count() > 0)
{
sbMenu.Append("<ul>");
foreach (var row in lstChilds)
{
sbMenu.AppendFormat("<li><a href=\"{0}\">{1}</a>", row["CateName"]);
RecursiveMenu((Int32)row["CateID"]);
}
sbMenu.Append("</ul>");
}
else
{
sbMenu.Append("</li>");
}
}
Bác nào xem rồi giúp em với. em xin chân thành cảm ơn.[IMG]images/smilies/smile.png[/IMG]
View more random threads:
Vừa qua, Chính phủ đã ban hành Quyết định số 2383/QĐ-TTg ngày 09/12/2013 về việc xếp hạng di tích quốc gia đặc biệt. Theo đó, khu di tích Đường Trường Sơn - Đường Hồ Chí Minh là 1 trong 14 kỷ vật...
Các relic, danh thắng được xếp...