0

imagebutton을 만드는 함수를 작성하고 imagebutton을 클릭하면 내 id와 subId를 전달하고 싶습니다. 어떻게 할 수 있습니까? (objImage.CommandArgument = 아이디;) 나는 commandargument 방법을 사용하려고하지만 난 그것을 호출 할 수있는 방법 imagebuttonclick 함수에서 처리 할 수없는 그리고 난 (하여 ImageButton에게어떻게하면 두 가지 가치를 htmlgenericcontrol 및 C#의 commandargument 또는 다른 방법을 통해 전달할 수 있습니까?

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; 
    } 

보호 무효 ImageButton1_Click을 누르면 방법은 내가 ID와 서브 ID를 PAS 수 있습니다 당신은 HTML의 모든 속성을 추가 할 수 있습니다 {

} 

답변

0

개체를 보낸 사람, ImageClickEventArgs 전자), 예를 들어,

다음 클릭 처리기에 액세스 할 수 있습니다

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

내가 어떻게 그것을 사용할 수 있습니다. 클릭 메서드 public static void ImageButtons_Click (개체 보낸 사람, ImageClickEventArgs e) { var myId = sender.Attributes [ "MyId"]; } – leventkalay92

+0

클릭 핸들러가 정적이거나 코드에있는 위치가 확실하지 않은 이유를 잘 모릅니다. 하지만 ImageButton을 클릭 할 때 해당 이벤트가 올바르게 발생하면 작동해야합니다. "... void ImageButtons_Click (object sender, ..")를 사용하여 ImageButtons_Click (ImageButton sender, .. " –

관련 문제