![](/img/trans.png)
[英]asp.net button/linkbutton webcontrol dynamically added in bootstrap modal body doesn't postback
[英]LinkButton doesn't Postback on first click in asp.net?
我有一个.aspx
网页,上面添加了一个UserControl
在UserControl
, clicked
LinkButton
时,第一次尝试不要Postback
。 但是当我们再次click
时,它会执行Postback
,然后只有页面重定向不知道为什么?
任何想法?
在.ASPX标记中:
<asp:LinkButton ID="lnkCheckOut" runat="server"
CssClass="button orange" onclick="lnkCheckOut_Click">Checkout</asp:LinkButton>
In.cs文件:
protected void lnkCheckOut_Click(object sender, EventArgs e)
{
if (Session["UserID"] != null)
{
lnkCheckOut.PostBackUrl = "~/checkout.aspx?type=checkout";
//Response.Redirect("~/checkout.aspx?type=checkout");
Session["IsQuoteAdded"] = "false";
}
//if not logged in user
else
{
lnkCheckOut.PostBackUrl = "~/login.aspx?returnUrl="+HttpUtility.UrlEncode(Request.RawUrl);
}
}
当我第一次点击浏览器(在Chrome中使用F12)看到标记时,它显示:
<a id="ctl00_ContentPlaceHolder1_shpCart_lnkCheckOut" class="button orange" href="javascript:__doPostBack('ctl00$ContentPlaceHolder1$shpCart$lnkCheckOut','')">Checkout</a>
第二次点击:
<a id="ctl00_ContentPlaceHolder1_shpCart_lnkCheckOut" class="button orange" href='javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$ContentPlaceHolder1$shpCart$lnkCheckOut", "", false, "", "login.aspx?returnUrl=%2fNew%2fMyBox.aspx", false, true))'>Checkout</a>
注意:我没有在网页或UserControl中使用任何UpdatePanel。
帮助赞赏!
您的代码不会重定向仅分配了URL的页面。 使用以下代码进行纠正。
protected void lnkCheckOut_Click(object sender, EventArgs e)
{
if (Session["UserID"] != null)
{
//lnkCheckOut.PostBackUrl = "~/checkout.aspx?type=checkout";
Session["IsQuoteAdded"] = "false";
Response.Redirect(@"~/checkout.aspx?type=checkout");
}
//if not logged in user
else
{
Response.Redirect(@"~/login.aspx?returnUrl="+HttpUtility.UrlEncode(Request.RawUrl));
}
}
在您的标记中,没有PostBackUrl。 因此,第一次单击时,它实际上会发回到同一页面,并且事件处理程序将运行。
然后,在事件处理程序中,设置PostBackUrl。
因此,有人第二次单击该链接时,它将发布到该URL。 您的代码按设计工作:)
编辑:我建议更改为Response.Redirect,但是很难确切知道您的代码应该做什么。
我面临着同样的问题。 我在网格视图中有链接按钮。 当我单击链接按钮时,第一次单击时不会回发,但是当我再次单击时,它会回发。 然后我正确检查我的代码,然后发现网格视图放置在更新面板中,因此第一次单击时不会回发。
所以我建议请检查相同。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.