在后面的代码中设置图片的网址时无法渲染图片

任何名称

当我在后面的代码中设置带有URL的图像不起作用时,我不知道为什么?

 if (File.Exists(Server.MapPath("~/Images/EmpQr/") + int.Parse(Session["userID"].ToString()) + ".PNG")) //It passes this condition 
            {
                tr_res.Visible = true;
                img_res.ImageUrl = Server.MapPath("~/Images/EmpQr/" + int.Parse(Session["userID"].ToString()) + ".PNG"); //Here 's the problem ,no image 

            }
            else
            {
                tr_res.Visible = false;
            }

<asp:Image ID="img_res" runat="server" AlternateText="result"  />

当我像这样设置图像网址时

ImageUrl ="~/Images/EmpQr/1345.PNG"

在设计视图中它起作用。

如何解决这个问题?

安德烈

Server.MapPath为您提供文件的本地路径。而您真正想要的是相对于应用程序根路径(在服务器上!)的相对路径。为此,您已经拥有的~/Images/EmpQr/文件就可以了,因此只需将文件名附加到该文件名即可:

img_res.ImageUrl = string.Format("{0}{1}.PNG", "~/Images/EmpQr/", int.Parse(Session["userID"].ToString()));

更新。出于好奇,在注释中进行了讨论之后,下面是Image控制源代码的相关部分,该部分证明~/Images/...可以正确处理形式的url

protected override void AddAttributesToRender(HtmlTextWriter writer)
{
base.AddAttributesToRender(writer);
string text = this.ImageUrl;
if (!this.UrlResolved)
{
    text = base.ResolveClientUrl(text);
}
if (this.RenderingCompatibility >= VersionUtil.Framework45)
{
    if (!string.IsNullOrEmpty(text) || base.DesignMode)
    {
        writer.AddAttribute(HtmlTextWriterAttribute.Src, text);
    }
}
else
{
    if (text.Length > 0 || !base.EnableLegacyRendering)
    {
        writer.AddAttribute(HtmlTextWriterAttribute.Src, text);
    }
}
    //...

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在后面的代码中设置DataContext的顺序

来自分类Dev

DotNetNuke DDRMenu在后面的代码中设置了NodeSelector

来自分类Dev

在后面的代码中设置控件的StaticResource样式

来自分类Dev

在后面的代码中设置AutomationProperties.AutomationId

来自分类Dev

在后面的代码中设置x:DeferLoadStrategy

来自分类Dev

在后面的代码中设置AutomationProperties.AutomationId

来自分类Dev

回复:资源无法在后面的代码中访问

来自分类Dev

在 switch 语句中创建对象时遇到问题,在后面的代码中“无法解析对象”(java)

来自分类Dev

在后面的代码中选择按钮时,按钮未设置主题

来自分类Dev

如何在后面的代码中设置DataGrid行的背景颜色?

来自分类Dev

在后面的代码中设置Xamarin.Forms绑定CommandParameter

来自分类Dev

如何在后面的代码中设置框架的高度请求?

来自分类Dev

如何在后面的代码中设置视频标签的来源?

来自分类Dev

在后面的代码中绑定到相对源

来自分类Dev

在后面的代码中从ResourceDictionary检索值

来自分类Dev

在后面的代码中调用按钮的OnClientClick

来自分类Dev

将表单保存在后面的代码中

来自分类Dev

在后面的代码中更改警报的字体

来自分类Dev

在后面的代码中访问DataTemplate控件

来自分类Dev

在后面的代码中获取li标签的值

来自分类Dev

在后面的代码中创建treeview json

来自分类Dev

在后面的代码中创建jqGrid列模型

来自分类Dev

在后面的代码中更改Label的ContentStringFormat属性

来自分类Dev

在后面的代码中更改徽章颜色

来自分类Dev

在后面的代码中创建contentcontrol

来自分类Dev

在后面的代码中获取原始 ViewState 数据

来自分类Dev

在后面的代码中创建Radwindow并避免在radwindow关闭时回发

来自分类Dev

如何在后面的代码中设置数据库连接字符串设置

来自分类Dev

复制XAML文件时,在后面的代码中生成事件处理程序

Related 相关文章

  1. 1

    在后面的代码中设置DataContext的顺序

  2. 2

    DotNetNuke DDRMenu在后面的代码中设置了NodeSelector

  3. 3

    在后面的代码中设置控件的StaticResource样式

  4. 4

    在后面的代码中设置AutomationProperties.AutomationId

  5. 5

    在后面的代码中设置x:DeferLoadStrategy

  6. 6

    在后面的代码中设置AutomationProperties.AutomationId

  7. 7

    回复:资源无法在后面的代码中访问

  8. 8

    在 switch 语句中创建对象时遇到问题,在后面的代码中“无法解析对象”(java)

  9. 9

    在后面的代码中选择按钮时,按钮未设置主题

  10. 10

    如何在后面的代码中设置DataGrid行的背景颜色?

  11. 11

    在后面的代码中设置Xamarin.Forms绑定CommandParameter

  12. 12

    如何在后面的代码中设置框架的高度请求?

  13. 13

    如何在后面的代码中设置视频标签的来源?

  14. 14

    在后面的代码中绑定到相对源

  15. 15

    在后面的代码中从ResourceDictionary检索值

  16. 16

    在后面的代码中调用按钮的OnClientClick

  17. 17

    将表单保存在后面的代码中

  18. 18

    在后面的代码中更改警报的字体

  19. 19

    在后面的代码中访问DataTemplate控件

  20. 20

    在后面的代码中获取li标签的值

  21. 21

    在后面的代码中创建treeview json

  22. 22

    在后面的代码中创建jqGrid列模型

  23. 23

    在后面的代码中更改Label的ContentStringFormat属性

  24. 24

    在后面的代码中更改徽章颜色

  25. 25

    在后面的代码中创建contentcontrol

  26. 26

    在后面的代码中获取原始 ViewState 数据

  27. 27

    在后面的代码中创建Radwindow并避免在radwindow关闭时回发

  28. 28

    如何在后面的代码中设置数据库连接字符串设置

  29. 29

    复制XAML文件时,在后面的代码中生成事件处理程序

热门标签

归档