【问题标题】:Dynamic imageURL in asp.net c#asp.net c#中的动态imageURL
【发布时间】:2023-03-31 22:37:01
【问题描述】:

目前我有这个:

<%@ 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 页面(ImageUrl 所在的位置,而不是静态 URL)调用方法“getPathName()”。所以每次我调用它时,新图像都会显示在浏览器中,路径名是在c#代码中生成的?

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

【问题讨论】:

    标签: c# asp.net image


    【解决方案1】:

    答案是可以的。

    假设您在代码后面有这个函数:

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

    这样,你可以有这个形式:

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

    然后就可以了。你从后面的代码中得到你的图像路径。

    祝你好运。

    【讨论】:

    • 太棒了!但是,页面显示“找不到图像”,当我设置断点时,它似乎也没有调用该方法。 Image Not Found public string getPathName() { string pathName = "~/images/k8up7l1i .bmp";返回路径名; } 我需要启动或调用某些东西吗?
    • 不,你不需要调用某些东西。您只需要将 img 从 server 标签更改为 html 标签。检查编辑的答案
    • 它现在使用编辑后的代码跟随我的断点,这很好!除了使用提到的路径名作为硬编码参数时仍然显示未找到的图像。
    • 客户端 html 标签不明白 ~ 是什么意思。您应该指定完整路径。
    • 酷,它现在似乎可以工作了。 找不到图像 -=-=-=-=-=-=- = Image1.ImageUrl = getPathName(); -=-=-=-=-=-=-= public string getPathName() { return "~/images/" + randomFileName; //其中随机文件名 = 12341263.bmp 例如 } -=-==-=-=-=-=-==-=-
    【解决方案2】:

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

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

    Image1.ImageUrl = getPathName();
    

    或者,如果您想从 ASP 页面执行此操作,并且不需要从服务器引用 Image1,则将其呈现为 html 元素:

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

    getPathNmae 必须为“受保护”或“公开”才能使上述工作。

    【讨论】:

    • 正如另一条评论中提到的,它现在使用编辑后的代码跟随我的断点。除了使用提到的路径名作为硬编码参数时仍然显示未找到的图像。我还没有尝试 Image1.ImageUrl = getPathName();解决方案,我想知道是否可以在运行时动态更改这样的图像
    猜你喜欢
    • 2011-09-18
    • 2014-02-21
    • 1970-01-01
    • 2013-04-07
    • 2012-12-03
    • 1970-01-01
    • 2016-03-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多