我有“first.aspx”和“second.aspx”页面。现在从first.aspx,使用链接按钮我正在做“Response.Redirect()”到“Third.aspx”,并且同样来自second.aspx,还有链接按钮我正在做“Response.Redirect()to”Third。 aspx“。但是当我来自”first.aspx“时,我想禁用”third.aspx“上的按钮。我怎么能实现这一点。
答案 0 :(得分:1)
您可以尝试使用:
var enabled = Page.Request.UrlReferrer.ToString().Contains("first.aspx");
答案 1 :(得分:1)
您可以检查请求的引荐来源,但这可能会被欺骗:
Request.UrlReferrer
或者你可以传递一个url参数。
或者,如果您不想依赖客户端参数传递,可以将最后一页保存在服务器上的用户会话中,并在third.aspx页面中检查。
答案 2 :(得分:0)
当first.aspx从第一个重定向到Third.aspx?来自second.aspx重定向到Third.aspx?from = second时,然后使用get参数来禁用/启用按钮
答案 3 :(得分:0)
在Third.aspx上,查看UrlReferrer
答案 4 :(得分:0)
添加查询参数以指示您来自哪个页面:
Response.Redirect('third.aspx?referrer=first');
和
Response.Redirect('third.aspx?referrer=second');
第三名:
if (Request["referrer"] == "first"){
button.Enabled = false;
}
答案 5 :(得分:0)
我喜欢@Justin Niessner的回复,但另一种方法是使用Response.Redirect
来使用相关按钮的PostBackUrl
属性。这将导致页面“发布”到third.aspx页面,从那里你可以访问`Page.PreviousPage'。有关上一页的更多信息可以是found on MSDN。
http://msdn.microsoft.com/en-us/library/system.web.ui.page.previouspage.aspx
修改强>
使用PostBackUrl
属性的一个好处是,它将调用标准的.Net验证控件,并有助于防止@Jan提到的欺骗。它不会使它变得不可能,但它肯定会使它变得更加困难。