Javascript 使用<;a href>;在网格视图中
我在gridview中有一个锚定标记,我使用javascript onclick弹出一个新窗口。它的工作方式和预期的一样,只是当窗口弹出时,会使父页面自动回发。我已经对此进行了研究,但找不到为什么会发生这种情况或如何解决它。下面是我的代码,第一个是我的网格,第二个是JavaCScript函数Javascript 使用<;a href>;在网格视图中,javascript,asp.net,Javascript,Asp.net,我在gridview中有一个锚定标记,我使用javascript onclick弹出一个新窗口。它的工作方式和预期的一样,只是当窗口弹出时,会使父页面自动回发。我已经对此进行了研究,但找不到为什么会发生这种情况或如何解决它。下面是我的代码,第一个是我的网格,第二个是JavaCScript函数 <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" AllowSorting="Tru
<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>
功能clickMe(国际民航组织){
targetUrl=“login.aspx?icao=“+icao”
打开(targetUrl,'Rep_Search','toolbar=no,directories=no,
位置=否,状态=是,菜单栏=否,可调整大小=否,滚动条=是,高度=300,
宽度=400’;返回false;
}
您的“onclick”属性应该是onclick='returnclickme(…)'
。您的处理程序返回的是false
,但属性中的代码基本上是real处理程序,它根本没有返回
另外,作为一些建议,发布尽可能少的代码是一个好主意。它使人们更容易浏览问题并寻找简单的问题。当然,过多地缩小代码范围是不好的,因为很容易对导致问题的原因做出错误的假设