在excel超链接中使用查询字符串到ASP.Net Web应用程序

Mar*_*rns 4 vb.net asp.net excel session hyperlink

我想在现有的Excel应用程序和现有的ASP.Net VB Webforms应用程序之间传递一些数据.

我认为带有一些查询字符串变量的超链接将是最直接的方法.但是,似乎超链接不会保留登录用户的会话.

在网页上使用相同的URL进行测试确实有效.所以似乎Excel正在开始一个新的会话.关于如何制作Excel超链接的任何想法都与浏览器超链接的行为相同?

Thi*_*ies 5

我遇到了同样的问题,并且使用Fiddler我可以看到,当跟踪Excel中的链接时,cookie 没有被发送到服务器 - 导致会话问题.

我的工作如下:创建一个不需要有效会话的重定向页面,只需重定向到需要有效会话的页面.由于重定向页面位于浏览器中 - 重定向的页面将按预期获取会话cookie.

代码(redirect.htm);

<html>
<body>
Please wait, loading your page... 
<script type="text/javascript">
<!--
function getQuerystring(key) {
key = key.replace(/[\[]/,"\\\[").replace(/    [\]]/,"\\\]");
var regex = new RegExp("[\\?&]"+key+"=([^&#]*)");
var query = regex.exec(window.location.href);
return query[1];
}

window.location = "http://site-page/" + getQuerystring('page'); //-->
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

使用http://site-page/redirect.htm?page = this-sub-page访问访问页面现在对我有用.