点击链接按钮后需要重新加载页面

时间:2013-08-02 11:49:22

标签: c# asp.net .net

请看第1张图片。 enter image description here

在此页面中,我使用LinkBut​​ton。 (比如...“sr001”,“sr003”,以及所有)

.aspx页面

<asp:LinkButton ID="lnkbtn" runat="server" onclick="lnkbtn_Click" 
ValidationGroup='<%# Eval("pid") %>'><%#Eval("productcode") %></asp:LinkButton>

.cs页面

protected void lnkbtn_Click(object sender, EventArgs e)
{
    int id;
    id = Convert.ToInt32(((LinkButton)sender).ValidationGroup.ToString());
    string abc = "http://development.in/prod-more-info.aspx?pid=" + id;
    Response.Write("<script>window.open('" + abc.ToString() + "','_blank');</script>");
}

现在,当我成功完成此链接按钮处理工作时。

但是..............

我的设计受到此过程的干扰,请看第2张图片。

enter image description here

如何解决此问题?

请帮助我......

2 个答案:

答案 0 :(得分:2)

不建议使用原始的Response.Write,因为您只是将内容附加到响应流。

如果您想确保您的脚本显示在正确的位置并执行,则应使用ClientScriptManager.RegisterStartupScript代替。

ClientScriptManager cs = Page.ClientScript;

if (!cs.IsStartupScriptRegistered(this.GetType(), "MoreInfoPopup"))
{
    int id;
    id = Convert.ToInt32(((LinkButton)sender).ValidationGroup.ToString());
    string abc = "http://development.in/prod-more-info.aspx?pid=" + id;
    string script = String.Format("<script>window.open('{0}','_blank');</script>",abc);
    cs.RegisterStartupScript(this.GetType(), "MoreInfoPopup", script);
}

答案 1 :(得分:0)

您是否只是想在点击按钮后重新加载页面?如果是,请执行response redirectRequest.Url.AbsolutePath

代码:

Response.Redirect(System.Web.HttpContext.Current.Request.Url.AbsolutePath);