在ASP.NET页面中,是否有任何实用的方法可以处理以下所有内容:
只有一个网页控件(或方法)?
TQ
答案 0 :(得分:1)
可以在服务器端处理回发
另外两个 - 链接点击或网址字段应该仅使用Javascript处理。
更新: 您可以使用 jQuery 来显示问题
中提到的“加载动画”$(window).unload( function () { alert("Bye now!"); } );
一旦用户试图离开页面,这将发出警报。您可以更改它,以便显示动画gif图像。
这必须经过测试。我认为这毫无意义;在浏览器开始加载新页面之前,不太确定gif将显示多长时间。
编辑:
正如我在评论中提到的,您可以使用javascript发布回发 所以,根据我的上一次编辑
$(window).unload( function () { __doPostBack("leaving"); } );
将向服务器发出回发消息,您可以通过以下方式捕获它:
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
this.PreLoad += (sender, args) =>
{
this.ClientScript.GetPostBackEventReference(this, "arg");
if (!IsPostBack) { return; }
string __targetaction = this.Request["__EVENTTARGET"];
string __args = this.Request["__EVENTARGUMENT"];
if (string.IsNullOrEmpty(__args)) return;
if (__targetaction == "leaving")
{
doSomething();
}
};
}
然后再次,我不太确定这会有用,因为用户正在离开页面。
答案 1 :(得分:-1)
<强>回发强>
在这个Page.IsPostBack将是= true
用户点击页面中的链接时的重定向
在这种情况下,您将在referrer中获得价值。您可以使用Request.ServerVariables [“http_referer”]或Request.UrlReferrer
用户在浏览器中更改网址字段时的重定向
否则这是第三种情况