我的ASP.NET MVC 2应用程序中的Somwhere我将一些数据保存到会话中:
Session["Blah"] = "Ugaga";
它很棒。我可以在所有控制器中以所有方法访问它。但在一种方法中,我想重定向到外部URL,所以:
return Redirect("http://myexternalurl.com");
但是当我回到我的应用程序(手动,通过在浏览器中键入地址)时,Session [“Blah”]为空。重定向似乎清除了会话数据。所以我google了一下,发现了这个: http://weblogs.asp.net/bleroy/Don_2700_t-redirect-after-setting-a-Session-variable-_2800_or-do-it-right_2900_
我按照说明操作并将重定向代码更改为:
Response.Redirect("http://myexternalurl.com", false);
但结果是一样的 - 会话数据丢失了。
我想知道用这样的东西返回一个视图是否能解决问题:
<script type="text/javascript">
window.location.href = "http://myexternalurl.com";
</script>
但在我看来,这不是一个正确的解决方案。有什么想法吗?