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 に移動しません。
誰かが私を助けて、私が間違っていることを教えてください。