2016-12-23 54 views
1

我的网站有Gridview控件,其中一些必须在每条记录上都有超链接。我需要的是超链接打开一个新的小窗口,因为我将数据从网格发送到新窗口。ASP,HyperLink打开小窗口

这是我GridView

<asp:GridView ID="gvwCajUpd" runat="server" CssClass="mGrid" AutoGenerateColumns="false" 
           PagerStyle-CssClass="pgr" AlternatingRowStyle-CssClass="alt" 
           Font-Size="Smaller" > 
           <Columns> 
            <asp:TemplateField> 
             <ItemTemplate> 
              <asp:HyperLink ID="hypCajUpd_CadDet" Text="Detalle" runat="server" target="_blank" 
               NavigateUrl='<%# "Cajas_Detalle.aspx?cliCod=" + Eval("ClienteCodigo").ToString() 
                + "&cajCod=" + Eval("CajaCodigo").ToString() 
                + "&cajNum=" + Eval("CajaNumero").ToString() 
                + "&cajCon=" + Eval("CajaContenido").ToString() 
              %>'/> 
             </ItemTemplate> 
            </asp:TemplateField> 

            <asp:TemplateField HeaderText="CLIENTE"> 
             <ItemTemplate> 
              <asp:Label ID = "lblCajUpd_CliCod" runat="server" Text='<%# Eval("ClienteCodigo") %>'></asp:Label> 
             </ItemTemplate> 
            </asp:TemplateField> 
            <asp:TemplateField HeaderText="COD.CAJA"> 
             <ItemTemplate> 
              <asp:Label ID = "lblCajUpd_CajCod" runat="server" Text='<%# Eval("CajaCodigo") %>'></asp:Label> 
             </ItemTemplate> 
            </asp:TemplateField> 
            <asp:TemplateField HeaderText="NUM"> 
             <ItemTemplate> 
              <asp:Label ID = "lblCajUpd_CajNum" runat="server" Text='<%# Eval("CajaNumero") %>'></asp:Label> 
             </ItemTemplate> 
            </asp:TemplateField> 

            <!--- more and more data --> 

我收到的数据在我的新窗口,但我需要这个新的小窗口,而不是在一个新的选项卡。

+0

我不认为你可以强制超链接打开窗口而不是选项卡,这取决于用户的浏览器设置。 – Kidiskidvogingogin

+0

如果是同一页面,您应该可能使用JavaScript来执行此操作。 –

+0

感谢您的帮助 –

回答

0

你为什么要使用超级链接, 使用此代码,而不是

<asp:TemplateField> 
    <ItemTemplate> 
     <a href="#" onclick="window.open('Sample.aspx?id= <%#Eval("UserCourseId") %> ','PrintMe','height=700px,width=500px,scrollbars=1');">SomeText</a> 
    </ItemTemplate> 
</asp:TemplateField> 
+0

非常感谢 –

0

这是可以做到这样的:

代替NavigateUrl使用OnClick用javascript函数,将打开像你所希望的方式一小新窗口。

NavigateUrl="#"   
onClick='<%# "window.open('Cajas_Detalle.aspx?cliCod=" + 
         Eval("ClienteCodigo") + "&cajCod=" + Eval("CajaCodigo") + 
         "&cajNum=" + Eval("CajaNumero") + "&cajCon=" + 
         Eval("CajaContenido")+ 
         ",'name','height=550, width=790,toolbar=no, 
         directories=no,status=no, 
         menubar=no,scrollbars=yes,resizable=no'); 
         return false;%>' 

让我知道,如果这有助于

0

非常感谢阿里夫 我能解决我的问题:

<asp:TemplateField> 
             <ItemTemplate> 
              <a href="#" onclick="window.open('Cajas_Detalle.aspx?cliCod= <%#Eval("ClienteCodigo").ToString() 
               + "&cajCod=" + Eval("CajaCodigo").ToString() 
               + "&cajNum=" + Eval("CajaNumero").ToString()   
               %> ','PrintMe','height=400px,width=800px,scrollbars=1');">Detalle</a> 
             </ItemTemplate> 
            </asp:TemplateField> 

谢谢 best问候