打开gridview链接按钮不适用于新窗口/选项卡
我有一个gridview,定义如下:打开gridview链接按钮不适用于新窗口/选项卡,gridview,hyperlink,asp.net-4.0,asplinkbutton,Gridview,Hyperlink,Asp.net 4.0,Asplinkbutton,我有一个gridview,定义如下: <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="columnid" DataSourceID="SqlDataSource1" <Columns> <asp:TemplateField HeaderText="Title"> <ItemTe
<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>
这非常有效,除了当我尝试以新选项卡或新窗口的形式打开链接时,它会给我一个关于:空白页。我已经环顾了很多地方,似乎大家都认为不用链接按钮,我必须使用超链接?我已尝试将ItemTemplate中的代码更改为如下所示:
<ItemTemplate>
<asp:HyperLink ID = "HyperLink1" runat="server" Text="click me!" NavigateURL = "~/setTheUrlHere.aspx" />
</ItemTemplate>
这个问题是出于某种奇怪的原因,我的超链接实际上没有一个是可点击的。我将鼠标悬停在它们上面,当我右键单击时,我没有在新选项卡或窗口中打开的选项。看起来这只是一个死链接。我需要设置href还是什么?我以为那就是导航者会做的?或者有没有更简单的方法来使用链接按钮完成我需要的操作
谢谢 如果有意思的话,我使用asp:HyperLinkField列如下:
protected void LinkButton1_click(object sender, EventArgs e)
{
string stringQuery = methodToGetQueryString;
Response.Redirect(queryString, true);
}
<asp:HyperLinkField DataTextField="Nome_Da_Agencia" DataTextFormatString="Detalhe {0}" DataNavigateUrlFields="Nome_Da_Agencia, Codigo_Da_Agencia" HeaderText="Detalhes"
DataNavigateUrlFormatString="Agencia.aspx?codigoAgencia={1}" Target="_blank" />
a注意Target=“\u blank”它告诉在新选项卡中打开的位置是的,这就是NavigateURL所做的-您是否在页面加载上设置了值?我实际上在.aspx页面中设置了NavigateURL。如何将其设置为页面加载?当我尝试在.aspx.cs页面中键入超链接的ID时,它找不到它?它位于gridview的模板中,因此,您需要在该gridview的数据绑定事件上设置它。这就是我的代码在.ASPX.CS中的样子,但它告诉我,当前上下文中不存在HyperLink1?:受保护的void GridView1_数据绑定(对象发送方,EventArgs e){HyperLink1.NavigateURL=“url”}您如何确定URL?是否基于数据源结果?如果是,那是哪一列?