1

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

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

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

4

1 回答 1

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"]以查找发回页面的人。

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

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
}
于 2012-08-09T14:37:56.890 回答