在GridView,我有我使用的圖像列,使用模板:生成ASP.NET控件代碼隱藏
<asp:TemplateField HeaderText="Image">
<EditItemTemplate>
<%#GenerateControl(Eval("id").toString) %>
</EditItemTemplate>
<ItemTemplate>
<%#GetImageById(Eval("id"))%>
</ItemTemplate>
</asp:TemplateField>
我想產生一個控制,這取決於羯羊圖像存在與否。我在後面的代碼中使用的代碼是:
Protected Function GenerateControl(ByVal id As String) As String
Dim scrString As String = "../../Assets/Zalen/" + id + ".jpg"
Dim strImageUrl As String = Me.Server.MapPath(scrString)
If Not File.Exists(strImageUrl) Then
Return "<asp:FileUpload ID=""FileUpload1"" runat=""server"" />"
Else
Return "<asp:button ID=""Button1"" runat=""server"" Text=""Verwijder afbeelding"" OnClick=""DeleteImage(" + id + ")""/>"
End If
End Function
這是由GridView.Updating事件調用的方法。
因此,基本上:如果圖像存在,我想顯示一個按鈕,以便用戶能夠刪除圖像。如果圖像還不存在(圖像基於表的主鍵(「id」)),那麼我想顯示一個FileUpload控件。
當我運行網站時,控件顯示在HTML代碼中,但它們不顯示在網站上。 (即:通過代碼可見,而不是直觀)
如何正確地將控件動態地呈現到GridView中?謝謝
這可能會解決我的問題。非常感謝你。 – Matthias 2011-04-15 16:41:18