C # Как я могу вызвать функцию, которая является функцией .cs в imagebutton HTML-элемент управления - PullRequest
1 голос
/ 19 марта 2012

Я хочу вызвать метод, когда нажимаю кнопку изображения, но не могу добавить или вызвать 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;
   }

1 Ответ

0 голосов
/ 20 марта 2012

Вы не можете передавать аргументы при добавлении обработчиков событий.

Я бы предложил использовать для этой цели свойство ImageButtons CommandArgument. Обратите внимание, что RssItem нельзя использовать как CommandArgument, если это не строка, поскольку она должна быть отображена как HTML.

Обычно вы используете ID (или все, что его идентифицирует). Затем вы можете использовать его в обработчике событий для создания экземпляра RssItem, если вам это нужно.

objImage.CommandArgument = objRssItem.ID;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...