簡體   English   中英

具有2個參數和ClientID的String.Format

[英]String.Format with 2 parameters and ClientID

具有2個參數(ID數據庫和ClientID)的String.Format

我想要那個結果,是

<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 )

什么都行不通! :(

你要

((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事件設置整個對象。

問題出在這一行:

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

ClientID是一個字符串,您正在將其轉換為圖像。 它應該是:

GridView1.FindControl("img_Historico").ClientID

更清楚地說,這也可以(使用不必要的強制轉換)

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM