c#如何调用imagebutton htmlgeneric控件中的.cs函数

本文关键字:控件 htmlgeneric 函数 cs imagebutton 何调用 调用 | 更新日期: 2023-09-27 18:28:22

我想在单击image按钮时调用一个方法,但无法添加或调用htmlgenericcontrol。我的代码如下:

我试过这个代码:

var duck = objRssItem;
objImage.Click += (s, e) => { WebForm4.amethod(objRssItem); }; 

但它不起作用。我需要发送objRssItem。

public HtmlGenericControl CreateDIV_OyVerme_Sub_Yildiz(string id, int subId, Rss.Items objRssItem)
{
        HtmlGenericControl objDiv = new HtmlGenericControl("div");
        objDiv.ID = strControlName_DivYildiz + id + "_" + subId;
        objDiv.Attributes.Add("class", strClassName_DivYildiz);
        //objDiv.Attributes.Add("runat", "server");
        ImageButton objImage = new ImageButton();
        objImage.Attributes.Add("runat", "server");
        //objImage.Src = strImgSrc_yildiz;
       //objImage.Click += new ImageClickEventHandler(WebForm4.ImageButtons_Click);

        objImage.ID = strControlName_ImageYildiz + id +"_" + subId;
        objImage.ImageUrl = strImgSrc_yildiz;
        objImage.OnClientClick = strOnClientClickFunc_yildiz;
       // objImage.Attributes.Add("OnClick","WebForm4.amethod (objRssItem);"); 
        objImage.Style.Add(HtmlTextWriterStyle.Height, "19px");
        objImage.Style.Add(HtmlTextWriterStyle.Width, "20px");
        objImage.Style.Add(HtmlTextWriterStyle.BorderWidth, "0px");
        objImage.Style.Add(HtmlTextWriterStyle.Position, "relative");
        objImage.Style.Add(HtmlTextWriterStyle.Top, "13px");
        objImage.Style.Add(HtmlTextWriterStyle.Left, "6px");
        objImage.Style.Add("float", "left");
        objImage.ToolTip = subId + "/" + 5;
        // calling the method 
       // objImage.Attributes.Add("OnClientClick", "return(GetRssID(objRssItem));");
        var duck = objRssItem;
        objImage.Click += (s, e) => { WebForm4.amethod(objRssItem); };
       //objImage.Click += WebForm4.amethod (objRssItem); 
        objDiv.Controls.Add(objImage);
        return objDiv;
   }

c#如何调用imagebutton htmlgeneric控件中的.cs函数

添加事件处理程序时不能传递参数。

为此,我建议使用ImageButtonsCommandArgument属性。请注意,RssItem不能用作CommandArgument,只要它不是字符串即可,因为它必须呈现为HTML。

通常,您会使用ID(或任何标识它的东西)。然后,如果需要,可以在事件处理程序中使用它来创建RssItem实例

objImage.CommandArgument = objRssItem.ID;