[英]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.