单元格中的GridView值

时间:2015-03-03 10:33:16

标签: c# asp.net gridview mono

我正在尝试获取我保留在GridView中的字符串值。 当我使用常规的BoundFields时,事情变得有效。我得到了所需的一切:

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页面显示正确形成的超链接。但是,如果我为单元格检索文本,它将返回&#34;&lt; \ a href = DomainConfiguration.aspx?suffix = example.com&gt; example.com&lt; / a&gt;&#34; [没有两个额外的斜杠],而不是&#34; example.com&#34;

我需要做什么才能让GridView以我想要的方式工作? [是的,我宁愿使用GridView而不是其他控件。]

谢谢。

2 个答案:

答案 0 :(得分: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;

答案 1 :(得分:0)

而不是asp:Bounfield使用

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