Reputation: 19
asp.net link button not working properly
<%@ Page Title="" Language="C#" MasterPageFile="~/Ui/MasterPage_UI.master" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Ui_Default2" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<div class="content" runat="server">
<p>
I am a returning customer</p>
<b>E-Mail Address:</b><br />
<asp:TextBox name="email" runat="server" ID="email"
ValidationGroup="email" ></asp:TextBox>
<br />
<br />
<b>Password:</b><br />
<asp:TextBox ID="pwd" runat="server" name="password" TextMode="Password"></asp:TextBox>
<br />
<br />
<asp:LinkButton ID="Submit" runat="server" CssClass="button" Text="Login" onclick="Submit_Click" ValidationGroup="email" />
</div>
</asp:Content>
the dynamicly generated menu's aspx code is--> `
<div class="categories" runat="server">
<ul runat="server" id="nav">
<li class="home" style="background-repeat: no-repeat; background-color: #94C23C; background-image: url(home.jpg); background-position: center;"><a href="index.htm">Home</a></li>
<!--Dynamic menu-->
</ul>
</div>
</div>`
and thye cs code is-->
`public void bindmenu() { HtmlGenericControl li; HtmlAnchor link; HtmlGenericControl div;
//for main menu
DataTable dt = new BALCate().GetCate();
foreach (DataRow dr in dt.Rows)
{
int cateid = int.Parse(dr["cate_id"].ToString());
String cate_name = dr["cate_name"].ToString();
li = new HtmlGenericControl("li");
link = new HtmlAnchor();
link.InnerText = dr["cate_name"].ToString();
link.HRef = "CateProducts.aspx?cate_id=" + cateid + "&" + "catename=" + cate_name;
li.Controls.Add(link);
//for submenu
DataTable subcate = new BALCate().GetSubCate(cateid);
if (subcate.Rows.Count > 0)
{
div = new HtmlGenericControl("div");
div.Attributes.Add("class", "sub-menu column-1");
HtmlGenericControl sul = new HtmlGenericControl("ul");
foreach (DataRow sdr in subcate.Rows)
{
int subcateid = int.Parse(sdr["subcate_id"].ToString());
String subcatename = sdr["subcate_name"].ToString();
HtmlGenericControl sli = new HtmlGenericControl("li");
HtmlAnchor slink = new HtmlAnchor();
slink.InnerHtml = sdr["subcate_name"].ToString();
sli.Controls.Add(slink);
slink.HRef = "SubCateProducts.aspx?subcate_id=" + subcateid + "&" + "catename=" + cate_name + "&" + "subcatename=" + subcatename;
sul.Controls.Add(sli);
DataTable subsubcate = new BALCate().GetSubSubCate(subcateid);
if (subsubcate.Rows.Count > 0)
{
HtmlGenericControl subdiv = new HtmlGenericControl("div");
subdiv.Attributes.Add("class", "sub-menu");
HtmlGenericControl ssul = new HtmlGenericControl("ul");
foreach (DataRow ssdr in subsubcate.Rows)
{
int subsubcateid = int.Parse(ssdr["subsubcate_id"].ToString());
String subsubcatename = ssdr["subsubcate_name"].ToString();
HtmlGenericControl ssli = new HtmlGenericControl("li");
HtmlAnchor sslink = new HtmlAnchor();
sslink.HRef = "SubSubCateProducts.aspx?subsubcate_id=" + subsubcateid + "&" + "catename=" + cate_name + "&" + "subcatename=" + subcatename + "&" + "subsubcatename=" + subsubcatename;
sslink.InnerText = ssdr["subsubcate_name"].ToString();
ssli.Controls.Add(sslink);
ssul.Controls.Add(ssli);
}
subdiv.Controls.Add(ssul);
sli.Controls.Add(subdiv);
}
}
div.Controls.Add(sul);
li.Controls.Add(div);
}
nav.Controls.Add(li);
}
}`
actually there is also a master page, which contains DYNAMIC MENU in which data(categories and subcategories) dynamicly loaded from the database at the time of the pageload. but the iissue is that whenever i clicking on the link button , the menu doesnt retrieve the data from the database and appears blank with the remaining static part of it.
Upvotes: 0
Views: 2244
Reputation: 3665
Add an onclick to the button to the method that does the data retrieving.
<asp:LinkButton ID="Submit" runat="server" CssClass="button" Text="Login"
ValidationGroup="email" onclick="MethodName" />
Upvotes: 3