我已经添加了一些html元素,包括一个页面按钮,但是当点击此按钮时,该事件不起作用。任何帮助将不胜感激。
protected void Page_Load(object sender, EventArgs e)
{
loginpannel.InnerHtml = "<ul class='nav navbar-nav collapse navbar-collapse'><li><a class='active'><i class='fa fa-lock'>welcome ," + Session["username"] + " </i> </a></li><li class='dropdown'><a href='#'><i class='fa fa-angle-down'> Account</i></a> <ul role='menu' class='sub-menu'><li><button OnClick='btnlogin1_Click' runat='server' CssClass='btnLogin' id='btnlogin1'>logout</button></li></ul></li><li><a href=''><i class='fa fa-star'></i> Wishlist</a></li><li><a href='checkout.aspx'><i class='fa fa-crosshairs'></i> Checkout</a></li><li><a href='cart.aspx'><i class='fa fa-shopping-cart'></i> Cart</a></li></ul>";
}
protected void btnlogin_Click(object sender, EventArgs e)
{
using (DataClassesDataContext db = new DataClassesDataContext())
{
user loginuser = new user();
loginuser = db.users.Where(x => x.username == loginName.Value && x.password ==loginpassword.Value &&x.approved==true).Select(x => x).First();
Session["username"] = loginuser.username;
loginpannel.InnerHtml = "<ul class='nav navbar-nav collapse navbar-collapse'><li><a class='active'><i class='fa fa-lock'>welcome ," + Session["username"] + " </i> </a></li><li class='dropdown'><a href='#'><i class='fa fa-angle-down'> Account</i></a> <ul role='menu' class='sub-menu'><li><button OnClick='btnlogin1_Click' runat='server' CssClass='btnLogin' id='btnlogin1'>logout</button></li></ul></li><li><a href=''><i class='fa fa-star'></i> Wishlist</a></li><li><a href='checkout.aspx'><i class='fa fa-crosshairs'></i> Checkout</a></li><li><a href='cart.aspx'><i class='fa fa-shopping-cart'></i> Cart</a></li></ul>";
}
}
protected void btnlogin1_Click(object sender, EventArgs e)
{
Session["username"] = null;
Response.Redirect("login.aspx");
}
答案 0 :(得分:0)
您无法在Page_Load事件中加载ASP.NET控件,它们不会被识别为网页中的ASP.NET控件,因此不会连接事件处理程序。控件必须位于ASPX页面中;不在代码隐藏中。
除了;我使用<asp:Button>
代替<button>
答案 1 :(得分:0)
我认为你应该使用asp:button控件和隐藏的li部分。而且无论什么时候你想使用它都会让它变得可见。我希望这对你有用。