asiehmohammadian
سه شنبه 28 بهمن 1393, 11:18 صبح
سلام به همه دوستان
من یک منوی جی کوئری و بااستفاده از رپیتر وکد زیر داینامیک کردم
<asp:ScriptManager ID="script" runat="server"></asp:ScriptManager> <asp:UpdatePanel ID="update" runat="server"> <ContentTemplate> <div class="leftpanel"> <asp:Repeater ID="repeater1" runat="server" OnItemDataBound="repeater1_ItemDataBound"> <HeaderTemplate> <div class="leftmenu"> <ul class="nav nav-tabs nav-stacked"> <li class="nav-header">منو نرم افزار</li> </HeaderTemplate> <ItemTemplate> <li class="dropdown"><a href="#"><span class="iconfa-folder-open"></span><%#Eval("Menuname") %></a> <asp:Literal ID="litral1" runat="server"></asp:Literal> </li> </ItemTemplate> <FooterTemplate> </ul> </div> <!--leftmenu--> </FooterTemplate> </asp:Repeater> </div> </ContentTemplate> </asp:UpdatePanel>
ودر قسمت کد بیهاند دارم :
DataTable allCategories = new DataTable();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
LoadCategories();
}
if (!IsPostBack)
}
private void LoadCategories()
{
allCategories = GetAllCategories();
repeater1.DataSource = GetCategories();
repeater1.DataBind();
}
private DataTable GetCategories()
{
SqlConnection connection = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Database.mdf;Integrated Security=True;User Instance=True");
SqlCommand selectCommand = new SqlCommand("SELECT * FROM tblmenu WHERE ParentId=0", connection);
DataTable dt = new DataTable();
try
{
connection.Open();
SqlDataReader reader = selectCommand.ExecuteReader();
if (reader.HasRows)
{
dt.Load(reader);
}
reader.Close();
}
catch (SqlException)
{
throw;
}
finally
{
connection.Close();
}
return dt;
}
private DataTable GetAllCategories()
{
SqlConnection connection = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Database.mdf;Integrated Security=True;User Instance=True");
SqlCommand selectCommand = new SqlCommand("SELECT * FROM tblmenu", connection);
DataTable dt = new DataTable();
try
{
connection.Open();
SqlDataReader reader = selectCommand.ExecuteReader();
if (reader.HasRows)
{
dt.Load(reader);
}
reader.Close();
}
catch (SqlException)
{
throw;
}
finally
{
connection.Close();
}
return dt;
}
protected void repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
if (allCategories != null)
{
DataRowView drv = e.Item.DataItem as DataRowView;
string ID = drv["Id"].ToString();
DataRow[] rows = allCategories.Select("ParentId=" + ID, "Menuname");
if (rows.Length > 0)
{
StringBuilder sb = new StringBuilder();
sb.Append("<ul>");
foreach (var item in rows)
{
//sb.Append("<li><a href=Default2.aspx?Id=>" + item["Menuname"] + "</a></li>");
sb.Append("<li><a href=Default2.aspx?Id=" + item["Id"] + ">" + item["Menuname"] + "</a></li>");
}
sb.Append("</ul>");
(e.Item.FindControl("litral1") as Literal).Text = sb.ToString();
}
}
}
}
حالا در صفحه مدیریتم وقتی مدیر منوی جدید ایجاد میکنه وصفحه رفرش میشه اون منوی جدید همون لحظه اضافه نمیشه وباید دوباره برنامه رو اجرا کنم تا اضافه بشه
باید چکار کنم که وقتی مدیر منوی جدید ایجاد کرد وصفحه رفرش شد تغییرات اعمال بشه ؟
دوستان خواهش میکنم راهنمایی کنید
من یک منوی جی کوئری و بااستفاده از رپیتر وکد زیر داینامیک کردم
<asp:ScriptManager ID="script" runat="server"></asp:ScriptManager> <asp:UpdatePanel ID="update" runat="server"> <ContentTemplate> <div class="leftpanel"> <asp:Repeater ID="repeater1" runat="server" OnItemDataBound="repeater1_ItemDataBound"> <HeaderTemplate> <div class="leftmenu"> <ul class="nav nav-tabs nav-stacked"> <li class="nav-header">منو نرم افزار</li> </HeaderTemplate> <ItemTemplate> <li class="dropdown"><a href="#"><span class="iconfa-folder-open"></span><%#Eval("Menuname") %></a> <asp:Literal ID="litral1" runat="server"></asp:Literal> </li> </ItemTemplate> <FooterTemplate> </ul> </div> <!--leftmenu--> </FooterTemplate> </asp:Repeater> </div> </ContentTemplate> </asp:UpdatePanel>
ودر قسمت کد بیهاند دارم :
DataTable allCategories = new DataTable();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
LoadCategories();
}
if (!IsPostBack)
}
private void LoadCategories()
{
allCategories = GetAllCategories();
repeater1.DataSource = GetCategories();
repeater1.DataBind();
}
private DataTable GetCategories()
{
SqlConnection connection = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Database.mdf;Integrated Security=True;User Instance=True");
SqlCommand selectCommand = new SqlCommand("SELECT * FROM tblmenu WHERE ParentId=0", connection);
DataTable dt = new DataTable();
try
{
connection.Open();
SqlDataReader reader = selectCommand.ExecuteReader();
if (reader.HasRows)
{
dt.Load(reader);
}
reader.Close();
}
catch (SqlException)
{
throw;
}
finally
{
connection.Close();
}
return dt;
}
private DataTable GetAllCategories()
{
SqlConnection connection = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Database.mdf;Integrated Security=True;User Instance=True");
SqlCommand selectCommand = new SqlCommand("SELECT * FROM tblmenu", connection);
DataTable dt = new DataTable();
try
{
connection.Open();
SqlDataReader reader = selectCommand.ExecuteReader();
if (reader.HasRows)
{
dt.Load(reader);
}
reader.Close();
}
catch (SqlException)
{
throw;
}
finally
{
connection.Close();
}
return dt;
}
protected void repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
if (allCategories != null)
{
DataRowView drv = e.Item.DataItem as DataRowView;
string ID = drv["Id"].ToString();
DataRow[] rows = allCategories.Select("ParentId=" + ID, "Menuname");
if (rows.Length > 0)
{
StringBuilder sb = new StringBuilder();
sb.Append("<ul>");
foreach (var item in rows)
{
//sb.Append("<li><a href=Default2.aspx?Id=>" + item["Menuname"] + "</a></li>");
sb.Append("<li><a href=Default2.aspx?Id=" + item["Id"] + ">" + item["Menuname"] + "</a></li>");
}
sb.Append("</ul>");
(e.Item.FindControl("litral1") as Literal).Text = sb.ToString();
}
}
}
}
حالا در صفحه مدیریتم وقتی مدیر منوی جدید ایجاد میکنه وصفحه رفرش میشه اون منوی جدید همون لحظه اضافه نمیشه وباید دوباره برنامه رو اجرا کنم تا اضافه بشه
باید چکار کنم که وقتی مدیر منوی جدید ایجاد کرد وصفحه رفرش شد تغییرات اعمال بشه ؟
دوستان خواهش میکنم راهنمایی کنید