c# - javascript pageLoad function not firing in asp.net Site.Master - Stack Overflow

I am trying to get this javascript function to fire every time there is a postback in my ASP project us

I am trying to get this javascript function to fire every time there is a postback in my ASP project using c#. I read online that if you create a pageLoad() function in Javascript, it will fire every time on a postback. I can't get it to fire. Here is all the code in my Site.Master file.

    <%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Site.master.cs" Inherits="Weights.SiteMaster" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" ".dtd">
<html xmlns="" xml:lang="en">
    <head runat="server">
        <title></title>
        <script type="text/javascript" src="<%=ResolveUrl("~/Scripts/jquery-1.4.1.min.js")%>"></script>
        <script type="text/javascript">
            function pageLoad() {
                if ($('#MainContent_ckbIncludeWeight').checked) {
                    $('#MainContent_txtPalletWeight').show();
                    console.log('it is checked!');
                    alert('it is checked!');
                }
                if (true) {
                    console.log('fire!');
                    alert('fire!');
                }
            }
        </script>
        <link href="~/Styles/Site.css" rel="stylesheet" type="text/css" />
        <asp:ContentPlaceHolder ID="HeadContent" runat="server">
        </asp:ContentPlaceHolder>
    </head>
    <body>
        <form runat="server">
        <div class="page">
            <div class="header">
                <div class="title">
                    <h1>
                        My ASP.NET Application
                    </h1>
                </div>
                <div class="loginDisplay">
                    <asp:LoginView ID="HeadLoginView" runat="server" EnableViewState="false">
                        <AnonymousTemplate>
                            [ <a href="~/Account/Login.aspx" ID="HeadLoginStatus" runat="server">Log In</a> ]
                        </AnonymousTemplate>
                        <LoggedInTemplate>
                            Wele <span class="bold"><asp:LoginName ID="HeadLoginName" runat="server" /></span>!
                            [ <asp:LoginStatus ID="HeadLoginStatus" runat="server" LogoutAction="Redirect" LogoutText="Log Out" LogoutPageUrl="~/"/> ]
                        </LoggedInTemplate>
                    </asp:LoginView>
                </div>
                <div class="clear hideSkiplink">
                    <asp:Menu ID="NavigationMenu" runat="server" CssClass="menu" EnableViewState="false" IncludeStyleBlock="false" Orientation="Horizontal">
                        <Items>
                            <asp:MenuItem NavigateUrl="~/Default.aspx" Text="Home"/>
                            <asp:MenuItem NavigateUrl="~/About.aspx" Text="About"/>
                        </Items>
                    </asp:Menu>
                </div>
            </div>
            <div class="main">
                <asp:ContentPlaceHolder ID="MainContent" runat="server"/>
            </div>
            <div class="clear">
            </div>
        </div>
        <div class="footer">

        </div>
        </form>
    </body>
    <script type="text/javascript">
        function pageLoad() {
            if ($('#MainContent_ckbIncludeWeight').checked) {
                $('#MainContent_txtPalletWeight').show();
                console.log('it is checked!');
                alert('it is checked!');
            }
            if (true) {
                console.log('fire!');
                alert('fire!');
            }
        }
        $(document).ready(function () {

            $('#MainContent_ckbIncludeWeight').click(function () {
                if (this.checked) {
                    $('#MainContent_txtPalletWeight').show();
                    $('#MainContent_txtPalletWeight').val('40');
                    $('#MainContent_txtPalletWeight').after("<span id='pound'>#</span>");
                }
                else {
                    $('#MainContent_txtPalletWeight').hide();
                    $('#MainContent_txtPalletWeight').val('');
                    $('#pound').remove();
                }
            });
        });
    </script>
</html>

I would appreciate any help. Thanks Mike

I am trying to get this javascript function to fire every time there is a postback in my ASP project using c#. I read online that if you create a pageLoad() function in Javascript, it will fire every time on a postback. I can't get it to fire. Here is all the code in my Site.Master file.

    <%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Site.master.cs" Inherits="Weights.SiteMaster" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3/1999/xhtml" xml:lang="en">
    <head runat="server">
        <title></title>
        <script type="text/javascript" src="<%=ResolveUrl("~/Scripts/jquery-1.4.1.min.js")%>"></script>
        <script type="text/javascript">
            function pageLoad() {
                if ($('#MainContent_ckbIncludeWeight').checked) {
                    $('#MainContent_txtPalletWeight').show();
                    console.log('it is checked!');
                    alert('it is checked!');
                }
                if (true) {
                    console.log('fire!');
                    alert('fire!');
                }
            }
        </script>
        <link href="~/Styles/Site.css" rel="stylesheet" type="text/css" />
        <asp:ContentPlaceHolder ID="HeadContent" runat="server">
        </asp:ContentPlaceHolder>
    </head>
    <body>
        <form runat="server">
        <div class="page">
            <div class="header">
                <div class="title">
                    <h1>
                        My ASP.NET Application
                    </h1>
                </div>
                <div class="loginDisplay">
                    <asp:LoginView ID="HeadLoginView" runat="server" EnableViewState="false">
                        <AnonymousTemplate>
                            [ <a href="~/Account/Login.aspx" ID="HeadLoginStatus" runat="server">Log In</a> ]
                        </AnonymousTemplate>
                        <LoggedInTemplate>
                            Wele <span class="bold"><asp:LoginName ID="HeadLoginName" runat="server" /></span>!
                            [ <asp:LoginStatus ID="HeadLoginStatus" runat="server" LogoutAction="Redirect" LogoutText="Log Out" LogoutPageUrl="~/"/> ]
                        </LoggedInTemplate>
                    </asp:LoginView>
                </div>
                <div class="clear hideSkiplink">
                    <asp:Menu ID="NavigationMenu" runat="server" CssClass="menu" EnableViewState="false" IncludeStyleBlock="false" Orientation="Horizontal">
                        <Items>
                            <asp:MenuItem NavigateUrl="~/Default.aspx" Text="Home"/>
                            <asp:MenuItem NavigateUrl="~/About.aspx" Text="About"/>
                        </Items>
                    </asp:Menu>
                </div>
            </div>
            <div class="main">
                <asp:ContentPlaceHolder ID="MainContent" runat="server"/>
            </div>
            <div class="clear">
            </div>
        </div>
        <div class="footer">

        </div>
        </form>
    </body>
    <script type="text/javascript">
        function pageLoad() {
            if ($('#MainContent_ckbIncludeWeight').checked) {
                $('#MainContent_txtPalletWeight').show();
                console.log('it is checked!');
                alert('it is checked!');
            }
            if (true) {
                console.log('fire!');
                alert('fire!');
            }
        }
        $(document).ready(function () {

            $('#MainContent_ckbIncludeWeight').click(function () {
                if (this.checked) {
                    $('#MainContent_txtPalletWeight').show();
                    $('#MainContent_txtPalletWeight').val('40');
                    $('#MainContent_txtPalletWeight').after("<span id='pound'>#</span>");
                }
                else {
                    $('#MainContent_txtPalletWeight').hide();
                    $('#MainContent_txtPalletWeight').val('');
                    $('#pound').remove();
                }
            });
        });
    </script>
</html>

I would appreciate any help. Thanks Mike

Share Improve this question asked Nov 1, 2013 at 14:06 dmikester1dmikester1 1,40215 gold badges59 silver badges132 bronze badges 1
  • Maybe like this: stackoverflow./questions/9654808/… – Aage Commented Nov 1, 2013 at 14:08
Add a ment  | 

2 Answers 2

Reset to default 3

You're already using jQuery's $(document).ready, just add your code there as well. It will run every time page reloads:

    $(document).ready(function () {

        $('#MainContent_ckbIncludeWeight').click(function () {
            if (this.checked) {
                $('#MainContent_txtPalletWeight').show();
                $('#MainContent_txtPalletWeight').val('40');
                $('#MainContent_txtPalletWeight').after("<span id='pound'>#</span>");
            }
            else {
                $('#MainContent_txtPalletWeight').hide();
                $('#MainContent_txtPalletWeight').val('');
                $('#pound').remove();
            }
        });


        // Originally from function pageLoad()
        if ($('#MainContent_ckbIncludeWeight').checked) {
            $('#MainContent_txtPalletWeight').show();
            console.log('it is checked!');
            alert('it is checked!');
        }
        if (true) {
            console.log('fire!');
            alert('fire!');
        }


    });

You have to have ScriptManager on page in order for pageLoad() to work. There is however no need for adding it, if you just want to run some script on every postback.

You can do something like putting this:

<asp:PlaceHolder ID="phPageLoad" runat="server">
  <script type="text/javascript">
        if ($('#MainContent_ckbIncludeWeight').checked) {
            $('#MainContent_txtPalletWeight').show();
            console.log('it is checked!');
            alert('it is checked!');
        }
        if (true) {
            console.log('fire!');
            alert('fire!');
        }
  </script>
</asp:PlaceHolder>

into your master page and in codebehind of master page add this to Page_Load:

phPageLoad.Visible = Page.IsPostback;

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745185124a4615599.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信