2016-12-23 79 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問候