在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