调用Page方法会导致页面事件仅在使用母版页时触发

时间:2013-11-06 03:57:13

标签: asp.net master-pages webmethod page-lifecycle

我正在使用带有vb.net的asp.net 4.0。我的aspx页面中有一个页面方法(静态webmethod),我使用jquery ajax来调用它。 最近我收录了一个母版页。我的代码不再适用了。 在调试时,我注意到使用母版页,页面事件会触发,但不是在我的页面独立时。

关于如何在调用页面方法时避免触发页面事件的任何想法。为什么在我们使用母版页时会触发页面生命周期事件,即使我们调用静态页面方法?

由于

编辑:以下是我的标记的简短版本

1)MasterPage是基本的,没有代码,只是makup。

2)通过将标记放在ContentPlaceHolders中,ASPX页面发生了一些变化:

<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="UserDetail.aspx.vb" Inherits="UIAdaptor.UserDetail" MasterPageFile="~/UserEditor/StaticPages.Master" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
   <%--a couple of JS and CSS were moved to the masterPage--%>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
   <%--Same markup as before using MasterPage--%>
</asp:Content>

3)调用页面方法的Jquery

    $.ajax({
    type: "Post",
    url: "../UserDetail.aspx/ValidateUser",
    data: "{'v_strUserName':'" + v_strUserName + "','v_strEmailAddress':'" + v_strEmailAddress + "','v_strGuidCurrentUserID':'" + v_strGuidCurrentUserId + "','v_strAddedRights':'" + v_strAddedRights + "'}",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    async: false,
    success: function(data) {...}
    ....
    });

4)页面方法

        <WebMethod()> _
    Public Shared Function ValidateUser(ByVal v_strUserName As String, _
                                        ByVal v_strEmailAddress As String, _
                                        ByVal v_strGuidCurrentUserID As String, _
                                        ByVal v_strAddedRights As String) As String
        Dim s As String = WebNavigator_Common.ValidateUser(v_strUserName, _
                                                           v_strEmailAddress, _
                                                           v_strGuidCurrentUserID)

        Dim blnAskMetadataValidation As Boolean = AskMetadataRightGrantingValidation(v_strAddedRights)

        Return s & ";" & blnAskMetadataValidation
    End Function

0 个答案:

没有答案