如何在使用LinkButton/ImageButton重定向到新页面时防止postback

3
<asp:ImageButton ID="ts" ImageUrl="ts.png" runat="server" CssClass="thumbnail" ClientIDMode="Static" OnClick="Client_Click" />
<asp:LinkButton ID="Lb4" runat="server" OnClick="Client_Click" CssClass="linkOff" Text="E"></asp:LinkButton>

代码后台:

protected void Client_Click(object sender, EventArgs e)
{
    int k = this.Master.Client.ID;
    if (k > 0)
    {
        Response.Redirect("http://mypage.com" + this.Master.client.SelectedValue , "_blank", "menubar=0,scrollbars=1,width=780,height=900,top=10,left=0");
    }
    else
        Response.Redirect("http://mypage.edu" + this.Master.client.SelectedValue , "_blank", "menubar=0,scrollbars=1,width=780,height=900,top=10,left=0");
}

当我点击图像按钮或链接按钮时,新页面会打开并且被点击的页面会进行回发。
我该如何避免回发,只是打开新页面呢?
我尝试了以下方法:
protected void Page_Load(object sender, EventArgs e)
{
    Lb4.Attributes.Add("OnClick", "javascript:return false;");
}

当我点击按钮时,什么也没有发生。
3个回答

2

抱歉,我忘记了补充一点,我正在使用 ASP.net 控件中的值作为参数。 - SearchForKnowledge
好的,那么使用简单的JavaScript获取所选值并构建重定向URL,然后进行重定向。 - Arindam Nayak
我正在从主页面获取值,链接在内容页面中。 - SearchForKnowledge
是的,如果你不熟悉JavaScript,那么可以使用PostBack选项。 - Arindam Nayak
我需要链接所做的事情,只不过相反的效果。 - SearchForKnowledge
是的,正如我所说,这是可行的,只需检查所需aspx页面的视图源代码,并获取“Master.client.SelectedValue”的确切ID,然后在重定向URL中使用该ID。当单击图像/链接按钮时重定向到所需的链接,这样您就可以实现它所做的事情,同时还可以防止不必要的回发。 - Arindam Nayak

0

抱歉,我忘记了补充,在参数中我正在使用一个来自 ASP.net 控件的值。 - SearchForKnowledge

0

如果你想避免回发(postback),你必须将那个if-else逻辑移到客户端(JavaScript)中。至于Master.Client.ID属性,一种方法是在标记中公开该值,例如在一个<input type="hidden">中,然后你可以在JavaScript中使用它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接