事件不能动态添加按钮到HTML

时间:2014-11-22 11:09:00

标签: c# jquery asp.net ajax

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

2 个答案:

答案 0 :(得分:0)

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

除了;我使用<asp:Button>代替<button>

答案 1 :(得分:0)

我认为你应该使用asp:button控件和隐藏的li部分。而且无论什么时候你想使用它都会让它变得可见。我希望这对你有用。