通过InnerHTML属性将HTML按钮添加到列表中



我有一个HTML列表,我尝试使用文件背后的代码将HTML按钮添加到属性" InnerHTML"中。我可以添加按钮,但是onclick事件没有被触发

html:

<ul runat="server" id="list">
    <li></li>
    <li><a  id="loginID" runat="server" href="../Accounts/login.aspx">Login</a></li>
    <li id="logout" runat="server"> <a href="~/Register.aspx" runat="server"> Register</a></li>    
</ul>

代码背后:

logout.InnerHtml = "<input type="submit" id="b1" runat="server" onserverclick="b1_click" />"; //logout is the id of the list item             
         }
    }
    public void b1_click(Object sender,EventArgs e)
    {
        Response.Redirect("~/Accounts/login.aspx");
    }
}

这不是动态创建服务器端控件的正确方法。请查看下面的示例,以更好地了解如何做到这一点。请记住,您无法分配客户端属性,因为它仅在运行时读取和初始化。

protected void Page_Load(object sender, EventArgs e)
{
    Button btn = new Button();
    btn.Text = "Dynamic Button";
    btn.ID = "b1"; // Server Side ID
    btn.Click += b1_click;
    logout.Controls.Add(btn);
}
public void b1_click(Object sender,EventArgs e)
{
    Response.Redirect("~/Accounts/login.aspx");
}

最新更新