在GridView中添加了一个打开showModalDialog的按钮,点击弹出一个模态框,当我关闭的时候,总是去刷新父页面,请高人帮忙分析分析为什么?我本不想去刷新父页面,不知道是哪里处理上有问题,可能是AJAX的问题,请教高人部分代码如下:<%@ Page Language="C#" MasterPageFile="~/oem.master" AutoEventWireup="true" CodeFile="MyOverView.aspx.cs"
    Inherits="SMPPersonalManage_MyOverView" EnableEventValidation="false" Title="Untitled Page" %><%@ Register Assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    Namespace="System.Web.UI" TagPrefix="asp" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %>
<script language="javascript" type="text/javascript">
        function approveFlow()
        {
            var smpBillId = '0dff97dc-e69b-4030-a312-cd2e4d99334b';
            var value = window.showModalDialog('ApproveFlowView.aspx?smpBillId='+smpBillId,'','dialogWidth=500px;dialogHeight=200px;status:no;scroll:no');
            return false;
        }
    </script><asp:TemplateField HeaderText="Approval flow">
                                    <ItemStyle Font-Size="9pt" BorderWidth="1px" HorizontalAlign="Center" />
                                    <HeaderStyle BorderWidth="1px" Font-Size="9pt" HorizontalAlign="Center" />
                                    <ItemTemplate>
                                        <input type="image" id="imageView" runat="server" src="../SMPimages/view.png"  />
                                        <%-- <asp:ImageButton ID="ibtnView" runat="server" ImageUrl="~/SMPimages/view.png" OnClientClick="approveFlow()" />--%>
                                    </ItemTemplate>
                                </asp:TemplateField>

解决方案 »

  1.   

    <asp:TemplateField HeaderText="Approval flow">
                                        <ItemStyle Font-Size="9pt" BorderWidth="1px" HorizontalAlign="Center" />
                                        <HeaderStyle BorderWidth="1px" Font-Size="9pt" HorizontalAlign="Center" />
                                        <ItemTemplate>
                                            <input type="image" id="imageView" runat="server" src="../SMPimages/view.png" onclick="approveFlow()"  />
                                                                              </ItemTemplate>
                                    </asp:TemplateField>
      

  2.   

    试下下面的
    OnClientClick="return approveFlow()" 
      

  3.   

    应该就是这个问题
    是你表单提交才会刷新页面
    input干嘛不换成img
      

  4.   

    不是这个问题,我知道添加Return false后就不会刷新父页面了,要是这个问题我就不会来问了,我跟踪页面刷新,总是调用ExtenderContorlBase中的OnLoad方法,不知道是什么原理
      

  5.   

    我决的应该是OnClientClick="approveFlow()" 的原因,你把它改成:OnClientClick="return approveFlow()" 
    因为approveFlow()返回的是false,在客户端的时候要return approveFlow()(也就是false)
      

  6.   

    你那样的return false是没用的
    要return approveFlow()才有效果的
    你把 <input type="image" id="imageView" runat="server" src="../SMPimages/view.png" onclick="approveFlow()"  />换成<img src="../SMPimages/view.png" onclick="approveFlow()" style="cursor:pointer"/>试下