单元格中的值 GridView

Values GridView in cells

我正在尝试获取我保存在 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 页面显示了正确格式的超链接。但是,如果我检索单元格的文本,它 returns "<\a href=DomainConfiguration.aspx?suffix=example.com>example.com" [没有两个额外的斜杠],而不是 "example.com"

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

谢谢。

而不是你的asp:Bounfield使用

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

而不是 asp:BoundField 来展示炒作 link 最好使用 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;