asp.net c#中的动态imageURL

时间:2015-03-23 14:11:06

标签: c# asp.net image

目前我有这个:

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="WebUserControl2.ascx.cs" Inherits="Drawing.Usercontrols.WebUserControl2" %>
<asp:Image ID="Image1" runat="server" alt="Image Not Found" ImageUrl="~/images/k8up7l1i.bmp"/>

在webUserControl2.ascx页面中。

在WebUserControl2.ascx.cs页面中,找到所有逻辑。在那里生成图像,然后保存到路径(C:\ Work Drawing \ Drawing \ Drawing \ images)  其中:

string thisPathName = System.Web.Hosting.HostingEnvironment.MapPath("~/Images/" + randomFileName);

我的问题是,我可以从asp页面调用方法“getPathName()”(其中ImageUrl是,而不是静态URL)。所以每当我调用它时,新图像将显示在浏览器中,并在c#代码中生成该路径名?

如果问题不清楚,请通知我。

2 个答案:

答案 0 :(得分:5)

答案是,是的,你可以。

让我们假设你在后面的代码中有这个功能:

public string getPathName(){
    return "my_image_path.jpg";
}

通过这种方式,您可以采用以下形式:

<img alt="Image Not Found" src="<%=getPathName()%>"/>

然后你去。你从后面的代码中获得了图像路径。

祝你好运。

答案 1 :(得分:0)

您不能将函数调用结果分配给服务器控件属性(如ImageUrl),除非该控件位于数据绑定控件(如GridView或Repeater)中。

您可以做的是在代码后面设置ImageUrl,例如在PageLoad事件中:

Image1.ImageUrl = getPathName();

或者,如果您想从asp页面进行操作,并且不需要从服务器引用Image1,请将其渲染为html元素:

<img alt="Image Not Found" src='<%= this.getPathName %>' />

getPathNmae必须受到保护&#39;或者&#39; public&#39;以上工作。