Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 将GridView绑定到字符串数组。超链接字段的问题_Asp.net_Data Binding - Fatal编程技术网

Asp.net 将GridView绑定到字符串数组。超链接字段的问题

Asp.net 将GridView绑定到字符串数组。超链接字段的问题,asp.net,data-binding,Asp.net,Data Binding,我知道可以使用感叹号将简单类型的数组(如字符串)绑定到GridView,如下所示 <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false"> <Columns> <asp:BoundField HeaderText="Array Field" DataField="!" /> </Columns> </asp:GridV

我知道可以使用感叹号将简单类型的数组(如字符串)绑定到GridView,如下所示

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
    <Columns>
       <asp:BoundField HeaderText="Array Field" DataField="!" />
    </Columns>    
</asp:GridView>

但DataNavigationEurlfields似乎并非如此

<asp:HyperLinkField DataNavigateUrlFields="!" DataNavigateUrlFormatString="RoleInformation.aspx?role={0}" Text="Manage users" />

我得到以下错误:

名为“!”的字段或属性在所选数据源上找不到


大多数人可能甚至不知道如何使用
我怀疑的字段。当我读到你的问题时,它实际上让我想起了我读过但从未实际使用过的那个功能。考虑到这一点,我认为没有办法处理这种类型的字段,因为它可能在HyperLinkField实现中被遗忘了(只是一个猜测)。您只需快速转换到命名属性,就不会有任何问题:

例如:

<asp:GridView ID="grdTest" runat="server" AutoGenerateColumns="false"> 
    <Columns> 
        <asp:BoundField HeaderText="Array Field" DataField="data" />
        <asp:HyperLinkField DataNavigateUrlFields="data" DataNavigateUrlFormatString="RoleInformation.aspx?role={0}" Text="Manage users" /> 
    </Columns>     
</asp:GridView>

它不会取代
但这是一个简单的解决方案,可以绕过绑定到简单数组的问题,即使
没有实现,每个字段类型可能都需要实现它。

这几乎就是我所做的now@Sergej安德列耶夫:我认为没有别的办法。如果你真的想办法得到这些
工作留下评论,但我认为它没有实现。
string[] testArray = { "1", "2", "3" };
grdTest.DataSource = testArray.Select(a => new { data = a });
grdTest.DataBind();