【发布时间】:2014-08-05 08:27:39
【问题描述】:
在后面的代码中渲染 asp:image 时遇到问题。
首先我解释一下我的方法:
在Default.aspx 中,我只使用一个标签。
在后面的代码中,我创建了一个字符串变量并填充它,然后用我的字符串变量填充lable.Text。
这是我的Default.aspx:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="test_Default2" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</div>
</form>
</body>
</html>
这是我在 Defaul.aspx.cs 中的表单加载函数:
protected void Page_Load(object sender, EventArgs e)
{
Label1.Text = @"<asp:Image ID='Image1' runat='server' ImageUrl='~/images/sc/tiraje.jpg' />
<br/>
<img src='../images/sc/tiraje.jpg' />
";
}
现在这段代码必须渲染两个图像。但是 asp:image 使用的第一张图片不起作用!我需要在我的字符串变量中使用 asp:image 因为我的 URL 会改变我的结果,例如如果我的 URL 是:
http://localhost:19551/website/test/Default.aspx
当我给它一个“/”时:
http://localhost:19551/website/test/Default.aspx/
第二个 URL 导致更改我在 <img> 标记中使用的字符串中第二个图像的 src。所以我想使用 asp:image 因为它使用“~/”作为 src (imageUrl) 永远不会因更改 URL 而改变!
【问题讨论】:
-
使用 asp:image 控件
-
为什么要使用标签?如果要使用服务器端图像控件,为什么不使用占位符控件?对于放置 html 图像标签,您可以使用不会将图像标签包装在跨度标签中的文字。
-
感谢您的帮助,您说得对,但我需要在占位符中添加一些 html 标签,如何在占位符中添加 asp:image 和简单的 html 标签,例如可以你在 2 asp:image 之后添加 1 div,然后在占位符内添加 1 ?
标签: c# html asp.net image code-behind