2014-03-12 23 views
-1

的String.Format有兩個參數(ID數據庫和客戶端ID)的String.Format有兩個參數和客戶端ID

我想這個結果,是

<a id="ctl00" onclick="OpenModal(704520,'asdf')"> 
    <img id="crico" src="../online/img_admin/icon_hist.gif" /> 
</a> 

怎麼辦?


我想這樣:

 <asp:HyperLink ID="HyperLink4" runat="server" 
onclick='<%# String.Format("OpenModal({0},{1})", DataBinder.Eval(Container.DataItem, "intid"), (Image)GridView1.FindControl("img_Historico").ClientID)) %>' > 
     <asp:Image ID="img_Historico" runat="server" /> 
    </asp:HyperLink> 

所以基本上是:在 '/' 應用

OpenModal(Id_do_DataBase, 'ClientID of image') 

服務器錯誤。

編譯錯誤

說明:該請求提供服務所需資源的編譯過程中出現錯誤。請查看以下具體的錯誤細節並適當修改您的源代碼。

編譯器錯誤信息:CS0030:無法將類型「字符串」到「System.Web.UI.WebControls.Image」


不工作我的代碼,所以我在這裏問。

我也試過:onclick='<%# String.Format("AbreModal({0},{1})", DataBinder.Eval(Container.DataItem, "intid"), img_Historico.ClientID)

沒有任何作品! :(

+1

問題是什麼? –

+1

考慮重新措辭你的問題......作爲一個問題提出 – Vlad

+0

對不起我的英語:( – Dorathoto

回答

2

你想

((Image)GridView1.FindControl("img_Historico")).ClientID 

另外,如果您的數據綁定表達式是如此複雜,那麼你應該重構它到一個屬性或方法:

protected string ImgHistoricoClientID 
{ 
    get {return ((Image)GridView1.FindControl("img_Historico")).ClientID;} 
} 

數據綁定表達式:

onclick='<%# String.Format("OpenModal({0},{1})", DataBinder.Eval(Container.DataItem, "intid"), ImgHistoricoClientID)) %>' > 

事實上,我會使用GridView的ItemDataBound事件來設置整個t興。

2

問題就出在這行:

(Image)GridView1.FindControl("img_Historico").ClientID 

客戶端ID是一個字符串,要將它轉換成一圖像。它應該是:

GridView1.FindControl("img_Historico").ClientID 

使其更清晰,這也將工作(與unnessisary投)

((Image)GridView1.FindControl("img_Historico")).ClientID 
+0

還好我沒..真的不是一個圖像 但是:。 GridView1.FindControl(「img_Historico」)客戶端ID 我得到的錯誤:服務器標籤結構不正確。 '> – Dorathoto