IIS更改(链接)标记的href属性中的domian

时间:2016-08-03 17:58:24

标签: asp.net iis-7

我在一个aspx文件中有以下代码:

<a href="<%# myfunction() %>" ...

myfunction返回一个非常简单的字符串:

return "http://domain.com/link";

当我将代码迁移到生产环境时,本地代码运行顺畅。所有href属性都更改为:http://serverdomain.com/link

这对我来说很奇怪,我以前做了好几次。这次我不知道我做错了什么。

有没有人知道我错过了什么?

1 个答案:

答案 0 :(得分:1)

IIS不会在此处产生任何影响,行为由HTML规范定义。对于导航链接,href属性可以遵循四种常见约定:

  1. http:////开始。浏览器会将该链接解析为绝对网址。

  2. 从单个/开始。浏览器将相对于域解析链接。

  3. 以文字开头。浏览器将解析相对于网页的链接。

  4. #开始。浏览器将在同一页面上查找HTML元素(按ID),如果找到则滚动到该元素。

  5. 我会比较函数返回值的字符串,以及呈现的实际HTML标记(不仅仅是导航到或在悬停时显示的内容)。

    要在此页面上使用示例:

    <a href="/questions">Questions</a>是相对网址,可解析为https://stackoverflow.com/questions

    <a href="http://example.com/questions">Questions</a>是绝对网址,并在http://example.com/questions解析为外部域。

    根据您的一条评论,您的函数将创建相对URL的值。如果此页面上有<a href="domain.com/link?param=">,则会将https://stackoverflow.com/解析为域名。