2014-05-13 60 views
0

在Gridview中我有下面的Colmn。在RowDataBound中創建帶有onclick事件的超鏈接圖像

<ItemTemplate> 
    <a href="AddNote.aspx" onclick="return popitup('AddNote.aspx?Account=<%# Eval("AccountID") %>&ID=<%# Eval("Invoice ID") %>')"><img src="Images/NoteIcons/note_add.png" height="16" width="16" /></a> 
</ItemTemplate> 

我希望它只顯示基於來自數據綁定的值。

所以我刪除了itemtemplate代碼,並在Gridview_RowDataBound中添加了下面的代碼。

if (e.Row.RowType == DataControlRowType.DataRow) 
    { 
     if (e.Row.Cells[10].Text != "1") 
      { 
       //Code to display hyperlink and image 
      }  
    } 

是否需要將其切換爲圖像按鈕?我不確定我如何獲得鏈接,onclick和圖像一起顯示。我嘗試使用超鏈接newHyperlink = new HyperLink();但我沒有看到該屬性設置onclick事件。

當文本=!時動態構建此列的任何幫助。 1?

謝謝。

+0

東西對於初學者,你可以錨標籤更改爲一個asp:超鏈接使得可見屬性是提供給您的RowDataBound事件 – fnostro

+0

或...你可以修改select語句並根據顯示條件添加一個計算sql側的布爾顯示字段,並在模板內的標記中使用Eval,使得'意思是什麼 – fnostro

回答

1

你可以嘗試做這樣的

ImageButton btn= new ImageButton(); 
btn.ImageUrl="Images/NoteIcons/note_add.png"; 
btn.Attributes.Add("onClientClick", "YourJavaScriptFunction();"); 
e.Row.Cells[10].Controls.Add(btn); 
+0

如何在按鈕周圍包裝超鏈接onclick事件? – Zach

+0

請參閱更新 –

+0

謝謝你的工作。 – Zach