我正在VS2010下开发一个C#ASP.NET应用程序。我想通过将HTML文本写入文字来生成动态表,包括在我的表上动态插入的按钮。我知道如何创建动态ASP.NET控件,但我对动态HTML控件有一个小问题。我已经创建了一个HTML按钮,但我不知道如何为它提供服务器端点击功能。
我可以创建动态ASP.NET控件并将其插入到文字中吗?如何获得动态创建的按钮来触发服务器端事件?
我使用OnServerClick属性来定义我的服务器端功能,但它没有效果,我该如何使用这个值?
答案 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
}