事件在动态添加按钮到 html 时不起作用

本文关键字:html 不起作用 按钮 动态 添加 事件 | 更新日期: 2023-09-27 18:31:41

我添加了一些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");
}

事件在动态添加按钮到 html 时不起作用

不能在 Page_Load 事件中加载 ASP.NET 控件,它们不会被识别为网页中的 ASP.NET 控件,因此不会连接任何事件处理程序。控件必须位于 ASPX 页中;不在代码隐藏中。

此外;我会用<asp:Button>而不是<button>

我认为你应该使用asp:button控件以及隐藏的li部分。而且比你想使用的时候,让它可见。我希望这对你有用。