Asp.net中的onbeforeunload函数 [英] onbeforeunload function in Asp.net

查看:78
本文介绍了Asp.net中的onbeforeunload函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的要求:当用户试图关闭浏览器窗口时,必须提示消息



现在发生的事情:我已经部分达到了我的要求。它提示我一个窗口,当他试图关闭浏览器时提醒用户



问题我现在面临的问题:我的页面中的每个超链接都会出现警报消息。需要帮助解决这个问题我的asp.net(内容页面)只有Gridveiw我粘贴下面的代码



我现在用来关闭窗口的Javascript是



My requirement: A message has to be prompted when user tries to close the browser windows

Whats Happening now: I have partially achieved my requirement. It prompts me a window to alert the user when he tries to close the browser

Problem what I am facing now: The alert message comes for every hyperlink in my page. Need help to fix this My asp.net (Content page) has only Gridveiw I am pasting the code below

Javascript which I am using now to close the window is

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

     window.onbeforeunload = confirmExit;
     function confirmExit() {
         return "You have attempted to leave this page.  If you have made any changes to the fields without clicking the Save button, your changes will be lost.  Are you sure you want to exit this page?";
     }





我的asp.net内容页面内容





My asp.net content page contents

<%@ Page Title="" Language="C#" MasterPageFile="~/Master/Menu.master" AutoEventWireup="true"

    CodeFile="TestScriptComponentPages.aspx.cs" Inherits="TestScriptComponentPages" %>

<%@ MasterType VirtualPath="~/Master/Menu.master" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">



<script src="JQueryScripts/jquery.js" type="text/javascript"></script>
<script src="JQueryScripts/colResizable-1.3.min.js" type="text/javascript"></script>
<script src="JQueryScripts/jquery.cookie.js" type="text/javascript"></script>
 <script type="text/javascript" language="javascript">

     window.onbeforeunload = confirmExit;
     function confirmExit() {
         return "You have attempted to leave this page.  If you have made any changes to the fields without clicking the Save button, your changes will be lost.  Are you sure you want to exit this page?";
     }
     

  
     $(document).ready(function () {
         if ($.cookie('colWidth') != null) {
             var columns = $.cookie('colWidth').split(',');
             var i = 0;
             $('.GridViewStyle th').each(function () {
                 $(this).width(columns[i++]);
             });
         }

         $(".GridViewStyle").colResizable({
             liveDrag: true,
             gripInnerHtml: "<div class='grip'></div>",
             draggingClass: "dragging",
             onResize: onSampleResized
         });

     });

     var onSampleResized = function (e) {
         var columns = $(e.currentTarget).find("th");
         var msg = "";
         columns.each(function () { msg += $(this).width() + ","; })
         $.cookie("colWidth", msg);
     }; 
</script> 
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
    <div style="overflow: scroll; height: 573px; width: 1030px">
        <%-- <asp:DataGrid ID="Grid" runat="server"   DataKeyField="ObjectName"

AutoGenerateColumns="False" CellPadding="4" ForeColor="#333333" 
        OnPageIndexChanged="Grid_PageIndexChanged" OnCancelCommand="Grid_CancelCommand"

OnDeleteCommand="Grid_DeleteCommand" OnEditCommand="Grid_EditCommand" 
        OnUpdateCommand="Grid_UpdateCommand" Height="287px" Width="416px">

<Columns>

<asp:BoundColumn HeaderText="TestWindow/Frame Name" DataField="BrowserPage">

</asp:BoundColumn>

<asp:BoundColumn HeaderText="Test Object" DataField="ObjectName">

</asp:BoundColumn>

<asp:BoundColumn HeaderText="Test Operation" DataField="Action">

</asp:BoundColumn>

<asp:BoundColumn  HeaderText="Test Data" DataField="TestData">

</asp:BoundColumn>
<asp:BoundColumn  HeaderText="ReUseableOutputData" DataField="ReUsableOutputData">

</asp:BoundColumn>
<asp:BoundColumn  HeaderText="Step Description" DataField="Steps">

</asp:BoundColumn>


</Columns>

<FooterStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />

<SelectedItemStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="Navy" />

<PagerStyle BackColor="#FFCC66" ForeColor="#333333" HorizontalAlign="Center" Mode="NumericPages" />

<AlternatingItemStyle BackColor="White" />

<ItemStyle BackColor="#FFFBD6" ForeColor="#333333" />

<HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />

</asp:DataGrid>--%>
        <table>
            <tr>
                <td>
                    <asp:ImageButton ID="btnAdd" runat="server" ImageUrl="images/add.ico" CausesValidation="false"

                        OnClick="btnAdd_Click" />
                </td>
                <td>
                </td>
                <td>
                </td>
            </tr>
        </table>
        <asp:GridView ID="gvTestScriptComponent" runat="Server" CssClass="GridViewStyle" AutoGenerateColumns="False"

            CellPadding="4" ForeColor="Black" DataKeyNames="ComponentID"

            ShowFooter="true" Height="110px" Style="margin-right: 0px" Width="990px" BackColor="White"

            OnRowDataBound="gvTestScriptComponent_RowDataBound" AutoGenerateEditButton="True"

            OnRowEditing="gvTestScriptComponent_RowEditing" OnRowCancelingEdit="gvTestScriptComponent_RowCancelingEdit"

            OnRowUpdating="gvTestScriptComponent_RowUpdating" OnRowDeleted="gvTestScriptComponent_RowDeleted"

            BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px" 

            OnRowCommand="gvTestScriptComponent_RowCommand">
            <Columns>
                <asp:TemplateField HeaderText="ComponentID" ItemStyle-HorizontalAlign="Center">
                    <ItemTemplate>
                        <asp:Label ID="lblComponentID" runat="server" Height="20px" Text='<%#Eval("ComponentID")%>'>  </asp:Label>
                    </ItemTemplate>
                    <ItemStyle HorizontalAlign="Center"></ItemStyle>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Options" ItemStyle-HorizontalAlign="Center">
                    <ItemTemplate>
                        <asp:ImageButton ID="btnDelete" runat="server" ImageUrl="images/delete.ico" CausesValidation="false"

                            CommandName="DeleteRow" OnClick="btnDelete_Click" />
                    </ItemTemplate>
                    <FooterTemplate>
                        <asp:ImageButton ID="btnSave" runat="server" ImageUrl="images/save.ico" CausesValidation="false"

                            CommandName="SaveRow" OnClick="btnSave_Click" />
                    </FooterTemplate>
                    <ItemStyle HorizontalAlign="Center"></ItemStyle>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="TestWindow/Frame Name" ItemStyle-HorizontalAlign="Center">
                    <ItemTemplate>
                        <asp:Label ID="lblTestWindow" runat="server" Height="20px" Text='<%#Eval("BrowserPage")%>'>  </asp:Label>
                    </ItemTemplate>
                    <ItemStyle HorizontalAlign="Left"></ItemStyle>
                    <EditItemTemplate>
                        <asp:DropDownList ID="ddlTestWindow" runat="server" Visible="true" AutoPostBack="True"

                            OnSelectedIndexChanged="ddlTestWindow_SelectedIndexChanged">
                        </asp:DropDownList>
                    </EditItemTemplate>
                    <FooterTemplate>
                        <asp:DropDownList ID="ddlFooterTestWindow" runat="server" Visible="true" AutoPostBack="True"

                            OnSelectedIndexChanged="ddlFooterTestWindow_SelectedIndexChanged">
                        </asp:DropDownList>
                    </FooterTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Test Object" ItemStyle-HorizontalAlign="Center">
                    <ItemTemplate>
                        <asp:Label ID="lblTestObject" runat="server" Height="20px" Text='<%#Eval("ObjectName")%>'>  </asp:Label>
                    </ItemTemplate>
                    <ItemStyle HorizontalAlign="Left"></ItemStyle>
                    <EditItemTemplate>
                        <asp:DropDownList ID="ddlTestObject" runat="server" Visible="true" AutoPostBack="True"

                            OnSelectedIndexChanged="ddlTestObject_SelectedIndexChanged" >
                        </asp:DropDownList>
                    </EditItemTemplate>
                    <FooterTemplate>
                        <asp:DropDownList ID="ddlFooterTestObject" runat="server" Visible="true" AutoPostBack="True"

                            OnSelectedIndexChanged="ddlFooterTestObject_SelectedIndexChanged">
                        </asp:DropDownList>
                    </FooterTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Test Operation" ItemStyle-HorizontalAlign="Center">
                    <ItemTemplate>
                        <asp:Label ID="lblTestOperation" runat="server" Height="20px" Text='<%#Eval("Action")%>'></asp:Label>
                    </ItemTemplate>
                    <ItemStyle HorizontalAlign="Left"></ItemStyle>
                    <EditItemTemplate>
                        <asp:DropDownList ID="ddlTestOperation" runat="server" Visible="true">
                        </asp:DropDownList>
                    </EditItemTemplate>
                    <FooterTemplate>
                        <asp:DropDownList ID="ddlFooterTestOperation" runat="server" Visible="true">
                        </asp:DropDownList>
                    </FooterTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Test Data" ItemStyle-HorizontalAlign="Center">
                    <ItemTemplate>
                        <asp:Label ID="lblTestData" runat="server" Height="20px" Text='<%#Eval("TestData")%>'></asp:Label>
                    </ItemTemplate>
                    <ItemStyle HorizontalAlign="Left"></ItemStyle>
                    <EditItemTemplate>
                        <asp:TextBox ID="txtTestData" runat="server" Text='<%# Bind("TestData") %>' Visible="true">
                        </asp:TextBox>
                    </EditItemTemplate>
                    <FooterTemplate>
                        <asp:TextBox ID="txtFooterTestData" runat="server" Visible="true"></asp:TextBox>
                    </FooterTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="ReUseableOutputData" ItemStyle-HorizontalAlign="Center">
                    <ItemTemplate>
                        <asp:Label ID="lblReUseableOutputData" runat="server" Height="20px" Text='<%#Eval("ReUsableOutputData")%>'></asp:Label>
                    </ItemTemplate>
                    <ItemStyle HorizontalAlign="Left"></ItemStyle>
                    <EditItemTemplate>
                        <asp:TextBox ID="txtReUseableOutputData" runat="server" Text='<%# Bind("ReUsableOutputData") %>'

                            Visible="true">
                        </asp:TextBox>
                    </EditItemTemplate>
                    <FooterTemplate>
                        <asp:TextBox ID="txtFooterReUseableOutputData" runat="server" Visible="true"></asp:TextBox>
                    </FooterTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Step Description" ItemStyle-HorizontalAlign="Center">
                    <ItemTemplate>
                        <asp:Label ID="lblStepDescription" runat="server" Height="20px" Text='<%#Eval("Steps")%>'></asp:Label>
                    </ItemTemplate>
                    <ItemStyle HorizontalAlign="Left"></ItemStyle>
                    <EditItemTemplate>
                        <asp:TextBox ID="txtStepDescription" runat="server" Text='<%# Bind("Steps") %>' Visible="true">
                        </asp:TextBox>
                    </EditItemTemplate>
                    <FooterTemplate>
                        <asp:TextBox ID="txtFooterStepDescription" runat="server" Visible="true"></asp:TextBox>
                    </FooterTemplate>
                </asp:TemplateField>
            </Columns>
            <FooterStyle BackColor="#CCCC99" ForeColor="Black" />
            <PagerStyle BackColor="White" ForeColor="Black" HorizontalAlign="Right" />
            <SelectedRowStyle BackColor="#CC3333" Font-Bold="True" ForeColor="White" />
            <HeaderStyle BackColor="#333333" Font-Bold="True" ForeColor="White" HorizontalAlign="Justify"

                VerticalAlign="Middle" />
            <SortedAscendingCellStyle BackColor="#F7F7F7" />
            <SortedAscendingHeaderStyle BackColor="#4B4B4B" />
            <SortedDescendingCellStyle BackColor="#E5E5E5" />
            <SortedDescendingHeaderStyle BackColor="#242121" />
            <EmptyDataTemplate>
                <table>
                    <tr style="background-color: #999999;">
                        <th>
                            Option
                        </th>
                        <th>
                            Test Window
                        </th>
                        <th>
                            Test Object
                        </th>
                        <th>
                            Test Operation
                        </th>
                        <th>
                            Test Data
                        </th>
                        <th>
                            ReUseableOutputData
                        </th>
                        <th>
                            StepDescription
                        </th>
                    </tr>
                    <tr>
                        <td headers="Option">
                            <asp:ImageButton ID="btnSave" runat="server" ImageUrl="images/save.ico" CausesValidation="false"

                                CommandName="FirstSaveRow" OnClick="btnSave_Click" />
                        </td>
                        <td headers="Test Window">
                            <asp:DropDownList ID="ddlFooterTestWindow" runat="server" Visible="true" AutoPostBack="True"

                                OnSelectedIndexChanged="ddlFooterTestWindow_SelectedIndexChanged">
                            </asp:DropDownList>
                        </td>
                        <td headers="Test Object">
                            <asp:DropDownList ID="ddlFooterTestObject" runat="server" Visible="true" AutoPostBack="True"

                                OnSelectedIndexChanged="ddlFooterTestObject_SelectedIndexChanged">
                            </asp:DropDownList>
                        </td>
                        <td headers="Test Operation">
                            <asp:DropDownList ID="ddlFooterTestOperation" runat="server" Visible="true">
                            </asp:DropDownList>
                        </td>
                        <td headers="Test Data">
                            <asp:TextBox ID="txtFooterTestData" runat="server" Visible="true"></asp:TextBox>
                        </td>
                        <td headers="ReUseableOutputData">
                            <asp:TextBox ID="txtFooterReUseableOutputData" runat="server" Visible="true"></asp:TextBox>
                        </td>
                        <td headers="StepDescription">
                            <asp:TextBox ID="txtFooterStepDescription" runat="server" Visible="true"></asp:TextBox>
                        </td>
                    </tr>
                </table>
            </EmptyDataTemplate>
        </asp:GridView>
        <table>
            <tr>
                <td>
                    <asp:ImageButton ID="btnAdd1" runat="server" ImageUrl="images/add.ico" CausesValidation="false"

                        OnClick="btnAdd_Click" />
                </td>
            </tr>
        </table>
    </div>
</asp:Content>

推荐答案

(document).ready(function () {
if (
(document).ready(function () { if (


.cookie('colWidth') != null) {
var columns =
.cookie('colWidth') != null) { var columns =


.cookie('colWidth').split(',');
var i = 0;
.cookie('colWidth').split(','); var i = 0;


这篇关于Asp.net中的onbeforeunload函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆