单击链接按钮时弹出页面

时间:2010-08-04 21:13:57

标签: c# javascript asp.net html

<td colspan ="2" style="width: 64px">
    <div style="float:left; padding-left:9px;">
        <asp:LinkButton ID="lnkremoveloc" runat="server" 
            OnClick="lnkremoveloc_Click" CssClass="linkclass" 
            style="cursor:pointer" Font-Underline="True" 
            Font-Bold="true" Font-Size="12px">
            Remove Location
        </asp:LinkButton>
    </div>
</td>

这是我点击时弹出窗口的链接按钮。 弹出页面如下所示。但是,当我单击此链接时,同一页面会刷新,我松开“保存并取消”按钮而不是打开弹出窗口。有人可以帮我吗。我不知道我在哪里做错了。非常感谢...

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="DisableLocation.aspx.cs" Inherits="DisableLocation" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<%--<html xmlns="http://www.w3.org/1999/xhtml" >--%>


<script language ="javascript" type="text/javascript" >

function PopupCenter(pageURL, title,w,h) {
    var left = (screen.width/2)-(w/2);
    var top = (screen.height/2)-(h/2);
    var targetWin = window.open (pageURL, title, 'toolbar=no, location=no, directories=no, 
            status=no, menubar=no,scrollbars=no, resizable=no, copyhistory=no, width='+w+', 
            height='+h+', top='+top+', left='+left);
} 

</script language ="javascript" type="text/javascript">


<html>
<head runat="server">
    <title>Disable Location | DealTown.com</title>
</head>

<body>
    <form id="form1" runat="server">
        <div style="display: block; background: url(images/reusable_blue_bg.jpg) repeat-x 0 -15px;border-left: #88b9c7 1px solid; border-bottom:#88b9c7 1px solid; border-top:#88b9c7 1px solid; border-right: #88b9c7 1px solid;   padding: 0px 2px;   height: 236px;  min-height: 236px;  height: auto;   margin-left: auto;  margin-right: auto;">
        <table align="center" style="width: 554px; border-top-style: none;  border-right-style: none;
            border-left-style: none; border-bottom-style: none" id="TABLE1">
            <tr >
                <td align="center" colspan="5" style="font-weight:normal;font-size:18px;margin: 0px;font-family: Arial;color: #1e7c9b;" >Disable Location</td>
            </tr>

            <asp:GridView ID="diableloc" runat="server" AutoGenerateColumns="False" 
             DataKeyNames="LocationName" DataSourceID="getGridMerchantLocationData" 
             AllowPaging="True" EnableViewState="False">
             <Columns>
            <asp:BoundField DataField="chkbox" HeaderText="Select" 
                SortExpression="Selection" />
            <asp:BoundField DataField="locname" HeaderText="Location Name" 
                ReadOnly="True" SortExpression="Locnames" />
            </Columns>
           </asp:GridView>

           <asp:ObjectDataSource ID="ProductsDataSource" runat="server" 
           OldValuesParameterFormatString="original_{0}" 
           SelectMethod="GetLocations" TypeName="string">            
           </asp:ObjectDataSource>


            </table>
              <tr>
                <td style="width: 44px; height: 63px">
                </td>
                <td style="width: 127px; height: 63px">
                </td>
                <td align="left" colspan="2" style="height: 63px; width: 196px;">
                <asp:ImageButton ID="btnDisable" runat="server" ImageUrl="~/images/save.gif" OnClick="btnDisable_Click"
                 ValidationGroup="group1" />
                 <asp:ImageButton ID="btnCancel" runat="server" ImageUrl="~/images/cancel.gif" OnClick="btnCancel_Click" /></td>
                <td colspan="1" style="width: 92px; height: 63px">
                </td>
            </tr> 

        </div>
    </form>
    </body>
</html>

3 个答案:

答案 0 :(得分:0)

听起来像页面正在回发。你试过AutoPostBack="false"了吗?不确定你在这里需要一个LinkBut​​ton。您是否可以使用onclick的锚标签来调用弹出窗口?

单击LinkBut​​ton时,是否有需要在服务器端执行的代码?如果您需要两者,则可以使用OnClientClick属性同时拥有这两者。 已经有一段时间了,但我认为如果从onclientclick中的客户端代码返回的值返回false,则可以使服务器代码无法执行。

我没看到你当前的LinkBut​​ton如何显示弹出窗口。

答案 1 :(得分:0)

而不是OnClick使用OnClientClick="lnkremoveloc_Click" lnkremoveloc_Click是JavaScript函数(类似于你已经拥有的PopupCenter),它会打开弹出窗口。

答案 2 :(得分:0)

设置onclientclick而不是onclick。而渲染(页面加载)本身将onclientclick设置为"PopupCenter('url','title',....);return false;"

可以在加载时设置网址,标题,宽度等。最后一部分“返回false”将取消click的效果。因此它可以防止回发。

注意:如果您希望在服务器端处理某些内容,最好不要设置onclientclick并使用 Response.write("<script>PopupCenter('url','title',....);</script>");

我希望有所帮助。

这是我的第一篇文章:)