将URL从excel传递到aspx页面

时间:2017-01-14 00:25:00

标签: c# asp.net excel cookies

我遇到了烦人的问题,我可以解决。我在Excel中有URL链接到我的aspx页面:

http://localhost/Myapp/Web/ServiceTicket/ServiceTicketReportView.aspx?ServiceTicketID=21336&CustomerID=7118
浏览器中的

显示如下:

http://localhost/Myapp/Login.aspx?ReturnUrl=%2fMyapp%2fWeb%2fServiceTicket%2fServiceTicketReportView.aspx%3fServiceTicketID%3d21336%26CustomerID%3d7118&ServiceTicketID=21336&CustomerID=7118

这意味着我的应用程序重定向到登录页面,这很好。登录后我被重定向到我想要的页面。但这是问题,如果我试图再次打开相同的链接,我重定向到登录页面,我的链接没有显示在网址中。要摆脱这个,我必须删除cookie。

BUT

如果我将它直接粘贴到地址栏,来自记事本,展望或其他任何地方,我要求只登录一次,网址会保留我的链接。 不知何故,它似​​乎得到了不同的cookie。

有什么想法吗?

编辑:

我发现了这个相关主题,但没有合适的解决方案......

https://superuser.com/questions/444984/excel-hyperlink-not-redirecting-properly-bug

解决:

环顾四周,我发现这篇文章解决了我的问题。它是一个工作,因为Excel会扰乱aspx会话。 http://www.vc2go.com/2009/11/cookie-based-authentication-does-not-work-with-excel.html

代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Redirect Page</title>
</head>
<body>
Please wait, redirecting...
<script type="text/javascript"> 
<!--
function getQuerystring(key)
{
    key = key.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regex = new RegExp("[\\?&]"+key+"=([^#]*)");
  var qs = regex.exec(window.location.href);
  return qs[1];
}
window.location = "../" + getQuerystring('page');
//-->
</script>
</body>
</html>

欢呼声。

0 个答案:

没有答案