Как я могу передать мои два значения через командный аргумент или другой метод в htmlgenericcontrol и c #? - PullRequest
0 голосов
/ 22 марта 2012

Я пишу функцию, которая создает кнопку image, и я хочу передать свой id и subId, когда я нажимаю кнопку image, как я могу это сделать. Я пытался использовать метод commandargument (objImage.CommandArgument = id;), но я не могу обработать функцию imagebuttonclick. Как я могу вызвать ее и как я могу вставить id и sub id, когда я нажимаю кнопку image

 public HtmlGenericControl CreateDIV_OyVerme_Sub_Yildiz(string id, int subId)
    {
        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.CommandArgument = id; 
          ///***********


       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 (o;"); 
        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;
    }

защищенный void ImageButton1_Click (отправитель объекта, ImageClickEventArgs e) {

    }

1 Ответ

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

Вы можете добавить любой атрибут в HTML, например,

objImage.Attributes.Add("MyId", "Id");
objImage.Attributes.Add("MySubId", "SubId");

. Затем к нему можно обратиться в обработчике кликов:

protected void ImageButton1_Click(object sender, ImageClickEventArgs e) {
    ImageButton objImage = (ImageButton) sender;
    var myId = objImage.Attributes["MyId"];
    var mySubId = objImage.Attributes["MySubId"];
}
...