我有一个包含 URL 和链接名称列的 SP 列表。我将它绑定到 GridView。
下面是我的 GridView
<asp:GridView ID="GridView1" runat="server" GridLines="None" ShowHeader="false" AutoGenerateColumns="false">
<Columns>
<asp:HyperLinkField DataTextField="LinkName" DataNavigateUrlFields="URL" Target="_blank"/>
</Columns>
</asp:GridView>
以及后面的代码
private void BindGridView(SPList list, string section, GridView grdView1)
{
SPQuery query = new SPQuery();
query.Query = "<Where><Eq><FieldRef Name=" + section + "/><Value Type='Choice'>" + section + "</Value></Eq</Where>";
query.ViewFieldsOnly = true;
query.ViewFields = "<FieldRef Name='URL'/>" + "<FieldRef Name='LinkName'/>";
SPListItemCollection listCollection = list.GetItems(query);
if (listCollection != null && listCollection.Count > 0)
{
grdView1.DataSource = listCollection.GetDataTable();
grdView1.DataBind();
}
}
假设我的链接名称为 Google,URL 为 www.google.com。
当我单击 GridView 的超链接字段时,浏览器中的 URL 是//goog.com,%20//goo.com,因此它不会导航到 URL。
有人请帮助我,让我知道我做错了什么。