在aspx页面中使用html-base标签

时间:2011-06-22 07:37:36

标签: asp.net html base

我有一个aspx页面,显示html-email的预览。 html电子邮件来自DB作为文本。这被分配给div。 现在我有一个基本标签,它带有一个基于数据库服务器名称动态的URL。

当我将数据库中的html分配给div时,html中图像的相对url的基础是从html文本中获取页面的基本URL而不是基本URL。 基本上, 页面呈现为,

<html>
 ....
 <div> <html>
          <head>
             <base href="dynamic url" />
          </head>
          <body>
            <img src="images/header.jpg" />
            .....
          </body>
        </html>
 </div>
 .....
</html>

第二个HTML来自DB 如何强制img标记的动态URL从基本标记中获取基本URL。

现在img src即将发布,page_url / images / header.jpg。我想把它当作dynamic_url / images / header.jpg。

1 个答案:

答案 0 :(得分:0)

我认为你应该能够用两种不同的方法做到这一点。在将电子邮件HTML分配给容器之前,首先将文本“images /”替换为服务器端的动态URL。无论你使用什么语言,它应该是直截了当的。

如果那是不可能的,那么你可以在客户端用JQuery做到这一点。下面的代码循环遍历页面上的所有img标记,并替换为您指定的路径。这实际上并不会更改源代码,但会使用新路径呈现图像。

$(document).ready(function(){
    $("img").each(function(i) {
        $(this).attr('src', $(this).attr('src').replace('old_path', 'new_Path'));
    });
});