单击HTML动态按钮的事件

时间:2012-08-09 14:19:46

标签: asp.net html literals

我正在VS2010下开发一个C#ASP.NET应用程序。我想通过将HTML文本写入文字来生成动态表,包括在我的表上动态插入的按钮。我知道如何创建动态ASP.NET控件,但我对动态HTML控件有一个小问题。我已经创建了一个HTML按钮,但我不知道如何为它提供服务器端点击功能。

我可以创建动态ASP.NET控件并将其插入到文字中吗?如何获得动态创建的按钮来触发服务器端事件?

我使用OnServerClick属性来定义我的服务器端功能,但它没有效果,我该如何使用这个值?

1 个答案:

答案 0 :(得分:1)

如果您想要点击按钮,则必须在__doPostBack事件中添加onclick功能,为此您可以添加按钮,如

StringBuilder dynamicHtml = new StringBuilder();
dynamicHtml.Append("Your Html Code");
dynamicHtml.Append("<input type='button' id='btn1' name='btn1' onclick='__doPostBack(\'btn1\',\'\')' value='Click Here' />"); 

当您点击它时,它会回发,您可以检查Request.Form["__EVENTTARGET"]以查找回发该页面的人。

通过检查Page_Load事件处理程序中的Request.Form["__EVENTTARGET"],您可以调用任何服务器端方法,如

protected void Page_Load(object sender, EventArgs e)
{
    var eventTarget = Request.Form["__EVENTTARGET"].ToString();

    if(eventTarget == "btn1")
    {
        CallMethod1();
    }
}


private void CallMethod1()
{
    //Code which you want to run
}