次のように定義されたグリッドビューがあります。
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="columnid" DataSourceID="SqlDataSource1"
<Columns>
<asp:TemplateField HeaderText="Title">
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" ForeColor="red" runat="server" onclick="LinkButton1_Click"
Text="Click Me!"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
LinkButton1_click の分離コードは次のようになります。
protected void LinkButton1_click(object sender, EventArgs e)
{
string stringQuery = methodToGetQueryString;
Response.Redirect(queryString, true);
}
リンクを新しいタブまたは新しいウィンドウとして開こうとすると、about:blank ページが表示されます。私はかなり見回しましたが、一般的なコンセンサスは、リンクボタンを使用する代わりに、ハイパーリンクを使用する必要があるようです? ItemTemplate 内のコードを次のように変更しようとしました。
<ItemTemplate>
<asp:HyperLink ID = "HyperLink1" runat="server" Text="click me!" NavigateURL = "~/setTheUrlHere.aspx" />
</ItemTemplate>
これに関する問題は、何らかの奇妙な理由によるものです。実際にクリックできるハイパーリンクはありません。それらの上にカーソルを置き、右クリックしても、新しいタブまたはウィンドウで開くオプションが表示されません。ただのリンク切れのようです。href などを設定する必要がありますか? それが NavigateURL の機能だと思いましたか? または、LinkButton を使用して必要なことを行う簡単な方法はありますか?
ありがとう!