ASP,HyperLink打开小窗口

时间:2016-12-23 16:33:17

标签: c# asp.net hyperlink

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

这是我的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 -->

我在新窗口中收到数据,但我需要这个新窗口很小而不是在新标签页中。

3 个答案:

答案 0 :(得分:1)

为什么要使用超链接, 请改用此代码

<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>

答案 1 :(得分: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;%>'  

如果有帮助,请告诉我

答案 2 :(得分: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>

由于 最好的问候