.net – 如何检测是否从Server.Execute调用了aspx页面?
发布时间:2020-12-16 07:35:22 所属栏目:asp.Net 来源:网络整理
导读:我有以下示例页面结构: 网页.aspx Script.aspx 如果我从Webpage.aspx调用Server.Execute(“Script.aspx”),我如何在Script.aspx中检测到它是从Webpage.aspx调用而不是直接从Web浏览器调用的? 我已经尝试检查Referrer但这似乎只返回域而不是脚本. 我在.NET
我有以下示例页面结构:
>网页.aspx 如果我从Webpage.aspx调用Server.Execute(“Script.aspx”),我如何在Script.aspx中检测到它是从Webpage.aspx调用而不是直接从Web浏览器调用的? 我已经尝试检查Referrer但这似乎只返回域而不是脚本. 我在.NET 3.5上使用ASP.NET Web Forms 解决方法
在Script.aspx.cs中,您可以简单地检查Request.Path与当前执行路径的比较.
if ( Request.CurrentExecutionFilePath == Request.Path ) { //This has been called from a web browser } else { //This has been executed from the file Request.Path } 为什么? 当您调用Server.Execute时,请求的一部分将不受影响地传递.因此,如果您在使用Webpage.aspx.cs中的Server.Execute后从Script.aspx.cs查看Request.Path的值,您将看到它的值为“/Webpage.aspx”. 但是,如果Web浏览器直接访问Script.aspx,则Script.aspx.cs中的Request.Path值将生成“/Script.aspx”. currentExecutionPath将始终生成当前执行的脚本,因此比较两者将得到所需的结果. 希望这可以帮助. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- asp.net-core – .AddDbContext方法在哪里?
- asp.net – ASP MVC – 创建目录路径而不是文件路
- asp.net-mvc – ASP.NET MVC动态生成的图像URL
- asp.net – 使用Repeater控件构建动态链接
- 在asp.net Repeater中添加多个新行
- oauth-2.0 – AspNet身份2:自定义OAuth端点响应
- asp.net – 如何在IIS 7.5中配置应用程序池在停止
- ASP.NET Core部署在IIS中后,报无法打开登录所请
- 如何知道asp.net 3.5 sp1和asp.net mvc是否安装在
- model-view-controller – MVC中的数据验证
热点阅读