我有一个网址:像这样:http://www.example/about/49
。
我希望它被视为 http://www.example/about/
,但我必须将此参数作为 传递QueryString
参数。
这可能吗?
最佳答案
小心 session 变量;打开多个页面很容易,这些页面都使用相同的 session 并最终混合值。
最好使用 TempData
,它只允许使用一次值(在第一次访问时删除)。但是,这意味着该值将几乎立即使用。
您还可以编写一个具有所需值的 cookie,拦截请求(ASP.Net 提供了多种方法,例如 BeginRequest
事件),并在内部将 URL 处理为尽管它包含值。
当然,您随后必须清除 cookie(这与基于 session 的解决方案存在相同的问题)。请记住,cookie 更容易在客户端被篡改。
就我个人而言,我认为这些方法中的任何一种都比它们的值(value)更麻烦。 “Hackable URLs ”(例如包含可能有意义的 ID 的那些)通常是好的东西。
关于c# - 隐藏一个QueryString参数,怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16686057/