2012-03-19 26 views
1

這種方法是在一個cs類中,它不在webForm中,我創建了一些div和類,但是我想創建一個方法(objImage.Attributes.Add("OnClientClick", "amethod(objRssItem)");) amethod在另一個.cs文件中。當我單擊圖像按鈕時,我無法使用此方法。 我該怎麼做?謝謝如何通過在c#中添加一個ImageButton方法來訪問.cs端的div元素

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.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", "amethod(objRssItem)"); 
     objDiv.Controls.Add(objImage); 

     return objDiv; 
    } 

回答

0

OnClientClick用於JavaScript。我相信你正在調用一個cs方法。如果你想調用一個cs方法,那麼它應該很清楚。您使用按鈕後面的代碼的點擊功能。如果問題是,這是一個動態的對象(如您展示。)然後試試這個

objImage.Click += myfunctiontocall; 

記住這將在回發發生,如果你不重新創建對象(具有相同的點擊處理程序)的你的函數調用將不起作用。你需要每次「重新連接」它。


給一個事件的參數,你可以像這樣包裝一個閉包。

var duck = objRssItem; 

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

請記住關閉是一件棘手的事情 - 您正在呼喚一種已成爲全球化的方法。奇怪的事情可能會發生。

+0

我寫objImage.Click + = WebForm4.amethod(objRssItem);但我不工作,它給出了一個錯誤,它不能簡單地將void轉換爲..... – leventkalay92 2012-03-19 17:33:31

+0

點擊事件不能有參數。 – Hogan 2012-03-19 17:34:26

+0

我會發佈一個方法來完成封閉。 – Hogan 2012-03-19 17:34:48

相關問題