2012-03-13 1 views
1

私は、新しいウィンドウをポップアップするためにjavascript onclickを使用して、gridview内にアンカータグを持っています。親ページに自動ポストバックをさせる場合は、ウィンドウがポップアップするときを除いて、すべて期待どおりに機能します。私はこれを研究したが、なぜこれが起こっているか、それを修正する方法を見つけることができません。以下は私のコードです、最初は私のグリッド、もう一つはjavacスクリプト関数です。<a href>をグリッドビュー内で使用する

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
     AllowSorting="True" AllowPaging="True" PageSize="20" BackColor="White" 
     BorderColor="#003366" BorderStyle="None" BorderWidth="1px" CellPadding="3" 
     GridLines="Vertical" Font-Names="Verdana" Font-Size="Small"> 
     <AlternatingRowStyle BackColor="#D9ECFF" BorderColor="#003366" /> 
     <Columns> 

      <asp:TemplateField HeaderText="SELECT"> 
       <ItemTemplate> 
        <asp:CheckBox ID="CheckBox1" runat="server"/> 
       </ItemTemplate> 
      </asp:TemplateField> 

       <asp:TemplateField> 
        <ItemTemplate> 
         <a href="#" onclick="clickMe('<%# Eval("ICAO") %>')" target="_top">Test</a> 
        </ItemTemplate> 
       </asp:TemplateField> 
      <asp:BoundField DataField="ICAO" HeaderText="ICAO" SortExpression="ICAO" /> 
      <asp:BoundField DataField="IATA" HeaderText="IATA" SortExpression="IATA" /> 
      <asp:BoundField DataField="AIRPORT_NAME" HeaderText="AIRPORT NAME" SortExpression="AIRPORT_NAME" /> 
      <asp:BoundField DataField="CITY" HeaderText="CITY" SortExpression="CITY" /> 
      <asp:BoundField DataField="COUNTRY" HeaderText="COUNTRY" SortExpression="COUNTRY" /> 
      <asp:BoundField DataField="REVISED_DATE" HeaderText="REVISED DATE" SortExpression="REVISED_DATE" /> 
      <asp:BoundField DataField="EMAIL_DATE" HeaderText="EMAIL DATE" SortExpression="EMAIL_DATE" />   
     </Columns> 

     <FooterStyle BackColor="#B5C7DE" ForeColor="#4A3C8C" /> 
     <HeaderStyle BackColor="#465c71" Font-Bold="True" ForeColor="#F7F7F7" /> 
     <PagerSettings FirstPageText="First" LastPageText="Last" 
      Mode="NextPreviousFirstLast" NextPageText="Next" Position="Top" 
      PreviousPageText="Previous" /> 
     <PagerStyle BackColor="#F7F7F7" ForeColor="#465c71" HorizontalAlign="Center" /> 
     <RowStyle BackColor="#F7F7F7" ForeColor="#4A3C8C" /> 
     <SelectedRowStyle BackColor="#738A9C" Font-Bold="True" ForeColor="#F7F7F7" /> 
     <SortedAscendingCellStyle BackColor="#F4F4FD" /> 
     <SortedAscendingHeaderStyle BackColor="#5A4C9D" /> 
     <SortedDescendingCellStyle BackColor="#D8D8F0" /> 
     <SortedDescendingHeaderStyle BackColor="#3E3277" /> 

    </asp:GridView> 

    <script language="javascript" type="text/javascript"> 
    function clickMe(icao) { 
     targetUrl = "login.aspx?icao=" + icao 
     window.open(targetUrl, 'Rep_Search', 'toolbar=no, directories=no,  
     location=no,status=yes, menubar=no, resizable=no, scrollbars=yes, height=300, 
     width=400'); return false; 
    } 
    </script> 

答えて

0

あなたの「onclick」属性は、onclick='return clickMe(...)'とします。ハンドラはfalseを返していますが、属性のコードは基本的にハンドラであり、returnはまったくありません。

また、いくつかのアドバイスと同様に、可能な限り小さなコードを投稿することはちょっとしたことです。人々が質問をスキャンして簡単な問題を探すのが簡単になります。もちろん、コードを絞ってでもは、あなたの問題の原因について間違った仮定をするのはとても簡単なので、あまり良くありません。

+0

ありがとうございました! – Will

関連する問題