Я генерации HTML 5меню с помощью ул из кода позади в PageLoad на главной странице. он генерирует штраф. но проблема возникает в Post back. динамическое содержимое меню исчезает при обратной передаче. Pls дайте мне знать, как переустановить меню по обратной передаче.Динамическое меню HTML 5 не работает с постбэка
Во-вторых, я хочу знать, почему эта проблема не возникает, если я использую ASP.net Меню
Также пожалуйста, дайте мне знать любой другой наилучшей практики для динамического меню
<ul runat="server" id ="Menu"></ul>
код позади:
public void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)
{
return;
}
try
{
if (Session["user"] == null || Request.QueryString["applicationID"] == null)
{
throw new Exception("Invalid Session. Please login again!");
}
Application1 appRow = bal.GetApplication(ApplicationID)[0];
PanelQuickJump.Visible = Boolean.Parse(Session["IsAdmin"].ToString()) && (TaskID == 9 || TaskID == 25 || TaskID == 33 || TaskID == 55) && (appRow.ApplicationClosed != true);
ImageButtonSearch.Attributes.Add("onclick", "window.open ('SearchPop.aspx',null,'scrollbars=yes, status= no, resizable = yes, toolbar=no,location=no,height = 700, width = 1200, left = 200, top= 200, screenx=10,screeny=600,menubar=no');");
/* get task */
activeTask = bal.GetActiveTask(ApplicationID, Employee.EmployeeID)[0];
//applicant = employeeAdapter.GetApplicant(ApplicationID)[0];
LabelTaskName.Text = activeTask.Task;
/* get menu items */
List<TaskForm1> taskForms = bal.GetTaskFormByTask(activeTask.TaskID, activeTask.SubTaskID);
foreach (TaskForm1 row in taskForms)
{
li = new HtmlGenericControl("li");
anchor = new HtmlGenericControl("a");
string itemURL = row.Page + "?applicationID=" + ApplicationID;
if (row.Checkable == true)
{
string reqMenuItem = "<span style=\"color: #669900; font-weight: bold\">" + row.Title + "</span>";
anchor.InnerText = reqMenuItem;
anchor.Attributes.Add("href", itemURL);
}
else
{
anchor.Attributes.Add("href", itemURL);
anchor.InnerText = row.Title ;
}
if (row.Page == CurrentPageName)
{
anchor.InnerText = row.Title ;
}
li.Controls.Add(anchor);
Menu.Controls.Add(li);
}
}