2012-09-15 65 views
1

我有一個gridview,其中有一列,並通過查詢字符串打開一個頁面。列代碼是在這裏:在gridview hyperplink中使用window.open

<asp:HyperLinkField DataNavigateUrlFields="LCNumber" Target="_blank" 
        DataNavigateUrlFormatString="LCDocs.aspx?LCNumber={0}" 
        Text="View" > 
    <ItemStyle Font-Names="Tahoma" Font-Size="8pt" /> 
</asp:HyperLinkField> 

的問題是,在視圖中單擊我的時候,它會打開新的標籤頁,而我要打開一個新的窗口自定義高度和寬度自定義位置。有什麼解決方案來做到這一點?

回答

1

您可以使用<a>標記代替<asp:hyperlink>並替換您的超鏈接,如下所示。

<asp:TemplateField HeaderText="Name" SortExpression="PartnerName"> 
    <ItemTemplate> 
     <a onclick="window.open('LCDocs.aspx?LCNumber=<# Eval("LCNumber")','','width=200,height=100')" id="alink" runat="server" > </a> 
    </ItemTemplate> 
</asp:TemplateField> 

如果你想改變{0},您可以通過後面的代碼改變它。

+0

爵士在哪裏'DataNavigateUrlFields = 「LCNumber」'部分堂妹查詢字符串returnin gnothig –

+0

''試試這個 –

+0

' RUNAT =」 服務器「> '這個怎麼辦 –

0

這是我與我的代碼工作:

<script language="javascript" type="text/javascript" > 
     function popUp(SERVIC_CODE) { 
      strOpen = "CustomerStatmentDetails.aspx?SERVIC_CODE=" + SERVIC_CODE; 
      window.open(strOpen, 'popWindow', 'toolbar=0,scrollbars=1,location=0,statusbar=1,menubar=0,resizable=1,width=350,height=500,left = 545,top = 200'); 
    } 
    </script> 


<ItemTemplate> 
        <asp:LinkButton ID="LinkButton11" runat="server" CausesValidation="False" Text='<%# Eval("SERVIC_CODE") %>' OnClientClick='<%# Eval("SERVIC_CODE","javascript: return popUp({0})") %>' ></asp:LinkButton> 
       </ItemTemplate> 
0
<div> 
    <asp:GridView ID="gvDemo" runat="server" AutoGenerateColumns="false"> 
     <Columns> 
      <asp:BoundField DataField="Name" HeaderText="Name" /> 
      <asp:TemplateField HeaderText=""> 
       <ItemTemplate> 
        <a href="#" onclick='openWindow("<%# Eval("Code") %>");'>View Details</a> 
       </ItemTemplate> 
      </asp:TemplateField> 
     </Columns> 
    </asp:GridView> 
</div> 
<script type="text/javascript"> 
    function openWindow(code) { 
     window.open('page.aspx?Code=' + code, 'open_window', ' width=640, height=480, left=0, top=0'); 
    } 
</script>