C# 如何在代码隐藏中使用asp:image
我在代码隐藏中呈现asp:image时遇到问题。 首先,我解释一下我的方法: 在C# 如何在代码隐藏中使用asp:image,c#,html,asp.net,image,code-behind,C#,Html,Asp.net,Image,Code Behind,我在代码隐藏中呈现asp:image时遇到问题。 首先,我解释一下我的方法: 在Default.aspx中,我只使用一个标签。 在代码隐藏中,我创建一个字符串变量并填充它,然后用字符串变量填充lable.Text。 这是我的默认值。aspx: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="test_Default2" %> <!DOCTYPE html&g
Default.aspx
中,我只使用一个标签。
在代码隐藏中,我创建一个字符串变量并填充它,然后用字符串变量填充lable.Text
。这是我的
默认值。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>
当我给它一个“/”:
第二个URL导致更改我在
中使用的字符串中第二个图像的src。您不应该使用标签来呈现图像。而是在web窗体中放置两个asp:image控件或使用占位符控件,例如:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="Application.WebForm1" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Image runat="server" ID="Image1" />
<br />
<asp:PlaceHolder runat="server" ID="PlaceHolder1"></asp:PlaceHolder>
</div>
</form>
</body>
</html>
您不能以这种方式创建,因为Asp:Image
是服务器对象。下面我为大家准备了一个简单的例子
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="pageDefault" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Literal ID="literalControl" runat="server" />
</div>
</form>
</body>
</html>
代码隐藏
protected void Page_Load(object sender, EventArgs e)
{
// Write here your SQL query for image URLs..
while(reader.Read())
{
literalControl.Text +=
"<img src=\"../images/sc/" + reader[0].ToString() + ".jpg\" /><br/>";
}
}
受保护的无效页面加载(对象发送方,事件参数e)
{
//在此处编写图像URL的SQL查询。。
while(reader.Read())
{
文字控制+=
“
”;
}
}
由Abdullah ELEN引入的文本控件是最简单的,而且很有效。像这样:
<asp:Literal ID="Literal1" runat="server"></asp:Literal>
然后在后面的代码中,假设您已经将图像源捕获到局部变量(photo_src)中,添加以下内容:
Literal1.Text += "<img src=" + '"' + photo_src + '"' + "/>";
Literal1.Text+=”;
使用asp:image控件为什么要使用标签?如果要使用服务器端图像控件,为什么不使用占位符控件?对于放置html图像标记,您可以使用不会将图像标记包装在span标记中的文字。感谢您的帮助,您是对的,但我需要在占位符中添加一些html标记,如何在占位符中添加asp:image和简单html标记,例如,你可以在2个asp:image之后添加1个div,然后在占位符中添加1个div吗?Orilux感谢你的answare,但我应该用lable来做这件事,因为我有很多来自数据库和其他东西的动态图像,所以我需要在codebehinde中通过生成html来做这件事,然后将其填充到标签中,以便在html页面中呈现。我添加的占位符控件就在那里,而不是标签。看看我在代码隐藏中创建Image2的方式,并将其添加到占位符中。我必须在代码隐藏中生成代码。在我的问题中,我没有任何方法可以帮助我,那就是如何在代码背后使用asp:image而不是tag?或者如何定义不影响src属性的url!
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="pageDefault" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Literal ID="literalControl" runat="server" />
</div>
</form>
</body>
</html>
protected void Page_Load(object sender, EventArgs e)
{
// Write here your SQL query for image URLs..
while(reader.Read())
{
literalControl.Text +=
"<img src=\"../images/sc/" + reader[0].ToString() + ".jpg\" /><br/>";
}
}
<asp:Literal ID="Literal1" runat="server"></asp:Literal>
Literal1.Text += "<img src=" + '"' + photo_src + '"' + "/>";