如何在C#中的母版页中获取上一个网址?
我试图找到重定向的页面。
提前致谢。
答案 0 :(得分:10)
您可以使用UrlReferrer
属性获取上一个网址的相关信息。这适用于MVC和Web表单。
Request.UrlReferrer.AbsoluteUri
请注意,在第一页中,属性Request.UrlReferrer
将为null。此外,如果发生重定向(例如,当用户登录到网页时),它将为null。
此属性基于 HTTP_REFERER 变量,因此您可以使用此属性。
Request.ServerVariables["HTTP_REFERER"]
由于HTTP_REFERER是客户端发送的变量,因此请求可能会更改或删除它。此外,当引用网址以https
开头时,不会设置变量。
This文章提到了为什么Request.UrlReferrer
可以为空的几点。
答案 1 :(得分:3)
通常使用查询字符串参数来实现此目的:current?previousUrl=/some/11
。
这将允许您使用主页代码隐藏中的Context.Request.QueryString["previousUrl"]
从服务器端代码访问此值。
答案 2 :(得分:0)
case .success(let value):
let json = JSON(value)
let successStatus = json["success"].stringValue
if successStatus == "0" {
let errorMessage = json["message"].stringValue
completion(nil,errorMessage,nil)
} else if successStatus == "1" {
let productsArrayJSON = json["product_data"].arrayValue
var productsData = [Product]()
for productJSON in productsArrayJSON {
if let productDictionary = productJSON.dictionaryObject {
let product = Product(dictionary: productDictionary)
productsData.append(product)
} else {
completion(nil,nil,nil)
break
}
}
completion(nil,nil,productsData)
}
else {
// Decide how you should call the completion block
completion(xx, yy, zz)
}