OK Ich habe eine GridView und es gibt eine Spalte, die ich ein Link sein möchte, wenn eine Datei existiert, sonst möchte ich nur, dass es eine Bezeichnung ist. Im Moment ändere ich die Steuerelemente des RowDataBound-Event-Handlers mit der in den Argumenten übergebenen Zeile. Ich bin kein großer Fan davon, da ich die Spalten-ID hart schreibe, und wenn es sich jemals ändert, muss ich daran denken, diesen Code zu ändern. Ich hatte gehofft, ich könnte eine Bedingung im Asp-Code machen, um eine Verbindung hinzuzufügen, wenn ein Eigenschaftswert nicht null ist, andernfalls eine Markierung hinzufügen. Ist das möglich? Irgendwelche verschiedenen Lösungen?ASP.NET GridView ItemTemplate
Ich würde so etwas wie dies mag:
<asp:TemplateField HeaderText="Status">
<ItemTemplate>
<%# if (Eval("LogFileName") == null)
<%#{
<asp:LinkButton ID="LogFileLink" runat="server" CommandArgument='<% #Eval("LogFileName") %>' CommandName="DownloadLogFile" Text='<%# Blah.NDQA.Core.Utilities.GetEnumerationDescription(typeof(Blah.NDQA.Core.BatchStatus), Eval("Status")) %>'>
<%# }
<%# else
<%#{
<asp:Label ID="LogFileLabel" runat="server"Text='<%# Blah.NDQA.Core.Utilities.GetEnumerationDescription(typeof(Blah.NDQA.Core.BatchStatus), Eval("Status")) %>'>
</asp:Label>
</ItemTemplate>
</asp:TemplateField>
Ich habe auch daran gedacht ... nur wollte nicht wirklich Daten zu meinem Modell für die Benutzeroberfläche hinzufügen. – CSharpAtl