2015-03-03 173 views
0

我想獲取GridView中保存的字符串值。 當我使用常規的BoundFields時,事情就可以得到。我得到需要的任何東西:單元格中的GridView值

string my_value = myGrid.Rows [rowIndex].Cells[1].Text; 

但是,一個網格需要在其中一列中有超鏈接條目。我做了:

<asp:BoundField DataField="domainName" 
    HeaderText="Domain" 
    SortExpression="domainName" 
    HtmlEncode="false" 
    DataFormatString="<a href=DomainConfiguration.aspx?suffix={0}>{0}</a>" 

我的ASPX頁面顯示正確形成的超鏈接。但是,如果我檢索單元格的文本,它將返回「[沒有兩個額外的斜槓],而不是」example.com「,而是返回」< \ a href = DomainConfiguration.aspx?suffix = example.com> example.com </a> 「

我需要做些什麼才能讓GridView以我想要的方式工作? [是的,我寧願使用GridView,而不是其他控件。]

謝謝。

+0

爲什麼不使用'asp:HyperLinkField'而不是'asp:Bo undField'? – Aria 2015-03-03 10:39:52

回答

1

而不是asp:BoundField表明炒作的鏈接是更好地利用asp:HyperLinkField像:

<Columns> 
     <asp:HyperLinkField DataNavigateUrlFields="domainName" HeaderText="domainName" DataNavigateUrlFormatString="DomainConfiguration.aspx?suffix={0}" DataTextField="domainName" /> 
    </Columns> 

,並獲得該列,你應該試試這個字符串值:

string my_value= ((HyperLink)myGrid.Rows[rowIndex].Cells[1].Controls[0]).Text; 
0

,而不是你的asp:Bounfield使用

<asp:TemplateField> 
<ItemTemplate> 
<asp:HyperLink ID="editLink" runat="server" onclick='<%#Eval("EditLink") %>'></asp:HyperLink> 
</ItemTemplate> 
</asp:TemplateField>