Ich habe ein Datagrid in ASP.NET 2.0 mit der folgenden Spalte in ihm:Datagrid Control Disabled
<ASP:TEMPLATECOLUMN>
<ItemStyle HorizontalAlign="Right"></ItemStyle>
<ItemTemplate>
<asp:HyperLink id="HyperLink1" runat="server"
CssClass="DataGridCommand" Target="_blank"
NavigateUrl='<%# GetPreviewURL(DataBinder.Eval(Container, "DataItem.NodeID")) %>'>
Preview Graphic
</asp:HyperLink>
</ItemTemplate>
</ASP:TEMPLATECOLUMN>
So ist die Grundidee ist es, einen Link in jeder Zeile des Datagrid zu haben, die eine Pop- tritt zurück Bildvorschau (bezieht sich auf eine datengebundene Spalte für die NodeID). Das funktioniert gut.
Ich versuche, die Verknüpfungen für die Zeilen zu deaktivieren, für die kein zugeordnetes Bild vorhanden ist. Um dies zu tun Ich habe dies in der Code-behind, unter Page_Load:
foreach (DataGridItem dgi in this.dgNode.Items)
{
HyperLink myLink1 = (HyperLink)dgi.Cells[0].FindControl("HyperLink1");
//myLink1.Visible = false;
//if (condition for hiding links goes here...)
myLink1.Enabled = false;
this.dgNode.DataBind();
}
Wie Sie sehen können, habe ich versucht, die visible-Eigenschaft auf false gesetzt, aber das hat nicht funktioniert. Ich habe versucht, enable auf false zu setzen, es hat auch nicht funktioniert. Und dann habe ich versucht, das DataGrid erneut zu binden - funktioniert nicht. Die Links funktionieren weiterhin normal.
Weiß jemand, warum das nicht funktioniert, was kann getan werden, damit es funktioniert, und wenn es grundlegend fehlerhaft ist, eine alternative Lösung? Ich versuche, den Link für bestimmte Zeilen entweder auszublenden oder ihn auszublenden, damit er nicht angeklickt werden kann.