强制回发

本文关键字: | 更新日期: 2023-09-27 18:15:28

是否有办法在代码中强制回发?

我希望在asp.net web应用程序后面的c#代码中强制从方法中引发回发。

强制回发

您可以尝试重定向到同一页面。

Response.Redirect(Request.RawUrl);

在表单提交后触发回发,因此它与客户端操作相关…请看这里的解释:ASP。是否有可能从服务器代码触发回发?

和这里是一个解决方案:http://forums.asp.net/t/928411.aspx/1

更简单:

ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "DoPostBack", "__doPostBack(sender, e)", true);

这是mamoo提到的http://forums.asp.net/t/928411.aspx/1的解决方案-以防网站离线。

StringBuilder sbScript = new StringBuilder();
sbScript.Append("<script language='JavaScript' type='text/javascript'>'n");
sbScript.Append("<!--'n");
sbScript.Append(this.GetPostBackEventReference(this, "PBArg") + ";'n");
sbScript.Append("// -->'n");
sbScript.Append("</script>'n");
this.RegisterStartupScript("AutoPostBackScript", sbScript.ToString());

不,不是从后面的代码。回发是使用Http POST方法从客户机上的页面发起的请求返回到服务器上的自身。在服务器端,您可以请求重定向,但将是Http GET请求。

您可以使用像RepeaterListView这样的数据绑定控件,根据需要将其重新绑定到控件属性列表,并让它动态生成控件。

作为一种替代方法,您可以使用Response.Redirect(".")重新加载同一页面

通过使用Server.Transfer("YourCurrentPage.aspx");我们可以很容易地实现这一点,它比Response.Redirect()更好;

您可以从Page_Load事件中手动调用PostBack调用的方法:

public void Page_Load(object sender, EventArgs e)
{
    MyPostBackMethod(sender, e);
}

但如果你的意思是,如果你可以有Page.IsPostBack属性设置为true没有真正的回复,那么答案是否定的。

相关文章:
  • 没有找到相关文章