У меня есть динамическое меню, которое создается из базы данных в событии Page_Load
.
Когда моя страница загружается, в течение одной секунды или меньше моей страницы появился, как показано ниже:не применяется css для динамического html-меню
, а затем:
Как я могу решить эту проблему?
Мой код позади:
public void Page_Load(object sender, EventArgs e)
{
Database db = new Database();
if (!IsPostBack)
{
string queryMenu =
"select a.CatId,c.CatName,a.ParentId,b.totalSubCats from ProductCategory as a LEFT OUTER JOIN (select ParentId,count(*) as totalSubCats from ProductCategory group by ParentId) as b on a.CatId=b.ParentId LEFT OUTER JOIN ProductCategory as c on a.CatId = c.CatId ORDER BY a.CatId";
SqlCommand smd = new SqlCommand(queryMenu, db.sc);
DataTable dt = new DataTable();
dt.Load(smd.ExecuteReader());
this.createMenu(dt, 0);
}
}
private void createMenu(DataTable dt, int pID)
{
LiteralMenu.Text = LiteralMenu.Text + "<ul>";
for (int i = 0; i < dt.Rows.Count; i++)
{
if (Convert.ToInt32(dt.Rows[i]["ParentId"]) == pID)
{
LiteralMenu.Text = LiteralMenu.Text + "<li><a href='/category/" + dt.Rows[i]["CatId"].ToString() + "'>" +
dt.Rows[i]["CatName"].ToString() + "</a>";
if (dt.Rows[i]["totalSubCats"] != DBNull.Value)
this.createMenu(dt, Convert.ToInt32(dt.Rows[i]["CatId"]));
LiteralMenu.Text = LiteralMenu.Text + "</li>";
}
}
LiteralMenu.Text = LiteralMenu.Text + "</ul>";
}
Загрузите ** ** ** ** перед ** javascript **, попробуйте поместить свой ** CSS ** в свой 'head' и все ** javascript ** или ** jQuery ** в конце вашего' body '. – vivekkupadhyay
@vivekkupadhyay мой файл css находится перед js-файлами. –
@MajidBasirati просто положил ваш код page_load, чтобы хорошо понять ваш сценарий. – Sankar