2011-06-28 22 views
2

質問:FixHyperLinkの可視性を、Label1に空のテキスト値がないという条件にバインドするにはどうすればよいですか?GridViewのItemTemplate内のサーバーコントロールのIDを知る方法は?

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1" 
    <Columns> 
     <asp:TemplateField HeaderText="Error" SortExpression="Error"> 
      <ItemTemplate> 
       <asp:Label ID="Label1" runat="server" Text='<%# Bind("Error") %>'></asp:Label> 
       <asp:HyperLink ID="FixHyperLink" runat="server" NavigateUrl='<%# Bind("AppID", "~/da/Default2.aspx?appid={0}") %>'>Fix</asp:HyperLink> 
      </ItemTemplate> 
     </asp:TemplateField> 
    </Columns> 
</asp:GridView> 

UPDATE:解答のC#バージョン

 foreach (GridViewRow row in GridView1.Rows) 
     { 
      var l = (Label)row.FindControl("Label1"); 
      var h = (HyperLink)row.FindControl("FixHyperLink"); 
      h.Visible = !string.IsNullOrWhiteSpace(l.Text); 
     } 

答えて

2

あなたはこのようにそれを得るあなたが変更したい行のインデックスを特定する必要があります。

 Dim tempRow As System.Web.UI.WebControls.GridViewRow 
    Dim tempLabel As Label 
    Dim tempHyperlink As HyperLink 

    For Each tempRow In GridView1.Rows 
     tempLabel = CType(tempRow.FindControl("Label1"), Label) 
     tempHyperlink = CType(tempRow.FindControl("FixHyperLink"), HyperLink) 
     If tempLabel.Text.Trim <> String.Empty Then 
      tempHyperlink.Visible = True 
     Else 
      tempHyperlink.Visible = False 
     End If 
    Next 
2

あなたが追加することができます」 Visible = '<%#String.IsNullOrEmpty((文字列)バインド( "エラー"))?false:true; "ハイパーリンクタグも

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1" 
<Columns> 
    <asp:TemplateField HeaderText="Error" SortExpression="Error"> 
     <ItemTemplate> 
      <asp:Label ID="Label1" runat="server" Text='<%# Bind("Error") %>'></asp:Label> 
      <asp:HyperLink ID="FixHyperLink" runat="server" NavigateUrl='<%# Bind("AppID", "~/da/Default2.aspx?appid={0}"%>') %>' Visible='<%# String.IsNullOrEmpty((string)Bind("Error")) ? false:true; %>' >Fix</asp:HyperLink> 
     </ItemTemplate> 
    </asp:TemplateField> 
</Columns> 

+0

知って良い、感謝します。 –

関連する問題