Javascript 母版页上的链接按钮没有';t在ASP.NET中的第二个子页面上激发
我正在ASP.NET(Framework 4.0)中创建项目。我在母版页中使用了Asp链接按钮,它有两个链接页面(Home.aspx和service.aspx) 问题如下: LinkButton1在Home.aspx上工作,在service.aspx上不工作 User.master代码如下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
<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");
}