【发布时间】:2020-04-05 10:14:18
【问题描述】:
我想创建一个超链接或按钮,将用户重定向到带有参数的外部网站,类似于“https://externalsite.com?param1=var1¶m2=var2”。问题是,如果我将链接复制到浏览器,它可以正常工作,但当我通过超链接或按钮单击链接时就不行了。所有这些仅适用于 Brave 浏览器。它不适用于 Chrome 和 Firefox。我的意思是不起作用是外部显示错误页面。
如果正常,页面会从参数中取值并填写一些表格,最终的URL会发生一些变化,可能是经过了一定的过程。这可能是外部网站自己的问题,但我想先诊断一下
这是我尝试过的,简化的;
超链接
<asp:HyperLink runat="server" NavigateUrl='<%# makeURL(Eval("someID")) %>' Target="_blank">Proceed to External site</asp:HyperLink>
或者干脆
<a href='<%# makeURL(Eval("someID")) %>' Target="_blank">To External</a>
按钮
<button OnClick="toExternal('<%# makeURL(Eval("someID")) %>')">Proceed to External site</button>
<script>
function toExternal(link)
{
x = confirm("To external link?");
if (x)
{ open.window(link, '_blank') }
}
</script>
ASP 按钮。
<asp:Button runat="server" OnClientClick="toExternal('<%# makeURL(Eval("someID")) %>')" Text="To Extrernal" />
在检查生成的 html 源代码时,它看起来像第一个超链接代码,当我复制到一个空的 html 文件并运行时,它可以工作。它只是无法在 ASP 页面上运行 Chrome/Firefox。
编辑: 来自外部页面的示例输出。
如果有效,将出现一个表单,并填写来自 URL 参数的信息。
【问题讨论】:
-
你能给你的makeURL代码和一个示例输出吗?
-
请检查代码(minimal reproducible example 是一个很好的指导。显然
</script>不能在 inside JavaScript 函数中发生 - 看起来您在撰写时错误地复制粘贴了某些内容问题。(截至目前,它看起来像是印刷错误) -
是的,我一定是用 标签打错了。更正了它。使用输出示例编辑问题,尽管我认为它没有帮助。我认为问题不在于 URL 的制作,因为我使用硬代码 进行了测试,它适用于简单的 html 文件,而不是 aspx 文件。
-
编辑。我的错,你的意思的示例输出可能看起来像 externalsite.com?param1=var1¶m2=var2 就像问题中的那个(包括 https://)。
-
:超链接>
标签: javascript c# asp.net hyperlink url-parameters