1

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

如何在动态按钮上创建动态按钮单击事件?

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

我正在尝试的代码是:

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

2 回答 2

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;



    }
于 2013-03-28T09:10:59.117 回答
1

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

你可以这样做。

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

或者

appIcon2.OnClientClick = "myMethod()";

html或页面myMethod()中定义的javascript函数在哪里?headbody

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

至于您发布的链接,它只是说明了如何直接将事件处理程序添加到按钮。IE

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
}

请注意,这Click是一个事件。它与服务器端控件相关联

于 2013-03-28T09:20:17.050 回答