动态创建imageButton Click事件?不可引发的错误

时间:2013-03-26 11:17:15

标签: c# .net

我跟着这个类似的帖子。但是,它没有用,并且给我一个错误。

How can i create dynamic button click event on dynamic button?

错误是: “非可调用成员'System.Web.UI.WebControls.ImageButton.OnClientClick'不能像方法一样使用。”

我正在尝试的代码是:

ImageButton appIcon2 = new ImageButton();
appIcon2.OnClientClick(){ }

2 个答案:

答案 0 :(得分:1)

在客户端点击需要javascript函数 即myImgButton.OnClientClick="return confirm('Are you sure?');";

如果你想做“点击”功能就这样做

ImageButton appIcon2 = new ImageButton();
appIcon2.Click  += new System.Web.UI.ImageClickEventHandler(appIcon2_Click);

void appIcon2_Click(object sender, ImageClickEventArgs e)

    {

       // Your Code here

    }

如果要访问此图像按钮,可以将发件人转换为图像按钮,如下所示

void appIcon2_Click(object sender, ImageClickEventArgs e)

    {

       ImageButton imgBtn= sender as ImageButton;
       string id= imgBtn.ID;



    }

答案 1 :(得分:1)

OnClientClick接受一个字符串值,即它应该指向一个javascript代码块。

你可以这样做。

appIcon2.OnClientClick = "alert('s')";

appIcon2.OnClientClick = "myMethod()";

其中myMethod()是在页面的html headbody中定义的javascript函数,即

function myMethod(){
   alert('s');
} 

对于您发布的链接,它只是说您如何直接向按钮添加事件处理程序。即。

protected void Page_Load(object sender , EventArgs)
{
   ImageButton appIcon2 = new ImageButton();
   appIcon2.Click += new System.Web.UI.ImageClickEventHandler(btn_Click);
}

void btn_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
   //your logic
}

请注意Clickevent。它与服务器端控件相关联