我有一个锚标记用于从一个页面(例如:page2.aspx到page1.aspx)重定向到另一个页面。
<ul <li><a href="Page1.aspx">Get Information</a></li></ul>
现在,当重定向到page1.aspx时,我需要通过检查字符串值(在使用我的锚标签重定向时发送)加载特定的Tab(或任何组件)page2.aspx。
在第1页的Ready功能中,我需要做这样的事情:
If redirected from page2.aspx based on some condition
// load these components //
为了实现这一点,我认为....我需要在我的锚标记中传递一些字符串值或查询字符串kinda参数。
请建议如何执行此操作。
感谢。
答案 0 :(得分:0)
您可以使用GET url参数实现此目的。
尝试:
<a href="Page1.aspx?ref=menu">Get Information</a>
现在,在Page1.aspx
内,在Page_Load
方法中(假设您使用的是ASP.NET Forms而不是MVC):
if (!String.isNullOrEmpty(Request.QueryString['ref']) && Request.QueryString['ref'] == 'menu')
{
// do something
}
这是主要想法。
希望有所帮助。答案 1 :(得分:0)
像这样传递query string
<ul <li><a href="Page1.aspx?UserId="+txtUserId.Text">Get Information</a></li></ul>
并将查询字符串检索为
lblUserId.Text = Request.QueryString["UserId"];
或
您可以使用jquery
查看referrer
页面
if referrer page is this do something
else do something
获取引荐来源页面使用此功能。
var referrer = document.referrer;
答案 2 :(得分:0)
不要使用查询字符串参数,如另一个答案所说。它们不可靠,对于任何一个小丑的小丑来说都是一扇敞开的大门。
你可以使用HTTP Referer,您可以使用Request.UrlReferer
(C#)或document.referer
(js)检索,但它们不是{\ n}总是由浏览器提供,并不是真的可靠。
最后,您可以做的唯一理智和可靠的跟踪是服务器端。我在这里看到两种可能性:
此解决方案使用服务器端会话。客户端仅提供标识符并且不控制会话的内容。你可以相信这些变量。 以下是步骤:
Session['page1_served'] = true
Session['page1_served']
变量Session['page1_served'] = false
此解决方案使用代理链接,仅根据您的具体情况提供。将其连接到控制器的新操作,始终使用特殊组件进行渲染。
在第1页中,将链接更改为新操作,然后您就完成了。
答案 3 :(得分:0)
得到了这个:
<ul <li><a href="Page1.aspx?Value="Approved">Get Information</a></li></ul>
$(document).ready(function () {
// Get Query String Value
var qrStr = window.location.search;
if (qrStr != null && typeof qrStr != 'undefined') {
qrStr = qrStr.split("?")[1].split("=")[1];
//alert(qrStr);
if (qrStr == "Approved") {
// Perform required tasks
}
}
}
全部谢谢。