Javascript 母版页上的链接按钮没有';t在ASP.NET中的第二个子页面上激发

Javascript 母版页上的链接按钮没有';t在ASP.NET中的第二个子页面上激发,javascript,c#,asp.net,Javascript,C#,Asp.net,我正在ASP.NET(Framework 4.0)中创建项目。我在母版页中使用了Asp链接按钮,它有两个链接页面(Home.aspx和service.aspx) 问题如下: LinkButton1在Home.aspx上工作,在service.aspx上不工作 User.master代码如下 <ul class="nav navbar-nav navbar-right"> <li> <asp:LinkButton ID="LinkButton1

我正在ASP.NET(Framework 4.0)中创建项目。我在母版页中使用了Asp链接按钮,它有两个链接页面(Home.aspx和service.aspx)

问题如下: LinkButton1在Home.aspx上工作,在service.aspx上不工作

User.master代码如下

<ul class="nav navbar-nav navbar-right">
    <li>
        <asp:LinkButton ID="LinkButton1" runat="server" onclick="LinkButton1_Click" AutoPostBack="true">Signout  
            <i class="glyphicon glyphicon-off"></i>
        </asp:LinkButton>
    </li>
    <li class="dropdown">
        <a href="#" class="dropdown-toggle" data-toggle="dropdown">
            <span>
                <asp:Label ID="lblName" runat="server" Text=""></asp:Label>
            </span>
            <i class="icon-user fa"></i>
            <i class=" icon-down-open-big fa"></i>
        </a>
        <ul class="dropdown-menu user-menu">
            <li class="active">
                <a href="frmUserHome.aspx">
                    <i class="icon-home"></i> My Account 
                </a>
            </li>
            <li >
                <a href="frmUserHome.aspx">
                    <i class="icon-home"></i> Personal Home 
                </a>
            </li>
            <li>
                <a href="#">
                    <i class="icon-hourglass"></i> Pending approval 
                </a>
            </li>
        </ul>
    </li>
</ul>
在Home.aspx页面上检查元素(使用Chrome浏览器)时,我发现以下代码

<li>
    <a id="ctl00_LinkButton1" autopostback="true" href="javascript:__doPostBack('ctl00$LinkButton1','')">Signout  
        <i class="glyphicon glyphicon-off"></i>
    </a>
</li>
  • 在service.aspx(Chrome浏览器检查元素)上时

  • 为什么Home.aspx和service.aspx(通过chrome浏览器检查元素)之间存在差异?感谢原创作者和@Nimesh提供链接

    设置LinkButton服务器控件的PostBackUrl属性,则表示它是跨页面发布,然后asp.net framework而不是普通的uu DoPostBack()添加了“WebForm_udoPostBackWithOptions”

    我已经根据我的代码要求做了一些更改

    LinkButton1(用户.母版)页面的代码


    你查过了吗?service.aspx页面上是否有修改LinkButton1的postbackoptions的服务器端代码?service.aspxCheck for javascript上没有此类代码errors@Nimesh,Thnaks for link很高兴原来的帖子帮助了你。我仍然很困惑,为什么在母版页中没有设置
    PostBackUrl
    的情况下,它在两个子表单上的表现都不同?如果这解决了您的问题,您可以将其标记为已接受。
    <li>
        <a id="ctl00_LinkButton1" autopostback="true" href="javascript:__doPostBack('ctl00$LinkButton1','')">Signout  
            <i class="glyphicon glyphicon-off"></i>
        </a>
    </li>
    
    <li>
        <a id="ctl00_LinkButton1" autopostback="true" href='javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$LinkButton1", "", true, "", "", false, true))'>Signout  
            <i class="glyphicon glyphicon-off"></i>
        </a>
    </li>
    
        <li>
        <asp:LinkButton ID="LinkButton1" runat="server" onclick="LinkButton1_Click"  PostBackUrl="~/Default.aspx">Signout 
            <i class="glyphicon glyphicon-off"></i>
        </asp:LinkButton>
        </li>
    
    protected void LinkButton1_Click(object sender, EventArgs e)
        {
    
             if (Request.Cookies["ASP.NET_SessionId"] != null)
             {
                 Response.Cookies["ASP.NET_SessionId"].Value = string.Empty;
                 Response.Cookies["ASP.NET_SessionId"].Expires = DateTime.Now.AddMonths(-20);
             }
             FormsAuthentication.SignOut();
             Session.Abandon();
             PostBackOptions myPostBackOptions = new PostBackOptions(this);
             myPostBackOptions.ActionUrl = "~/Default.aspx";
             myPostBackOptions.AutoPostBack = false;
             myPostBackOptions.RequiresJavaScriptProtocol = true;
             myPostBackOptions.PerformValidation = true;
    
             // Add the client-side script to the HyperLink1 control.
             LinkButton1.OnClientClick = Page.ClientScript.GetPostBackEventReference(myPostBackOptions);
             Response.Redirect("~/Default.aspx");
        }