Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 显示来自ViewData的图像_C#_Asp.net Mvc - Fatal编程技术网

C# 显示来自ViewData的图像

C# 显示来自ViewData的图像,c#,asp.net-mvc,C#,Asp.net Mvc,你能帮我解决从ViewData加载图像的问题吗? 在我的模型中,我按公司名称从服务器加载图像: System.Drawing.Image image = System.Drawing.Image.FromFile(HttpContext.Server.MapPath("~/Logos/"+ companyName +".png")) 我将此图像加载到Viewdata中: ViewData["Image"] = image; 我将其返回到视图,并在那里再次加载该图像: <img sr

你能帮我解决从ViewData加载图像的问题吗? 在我的模型中,我按公司名称从服务器加载图像:

System.Drawing.Image image = System.Drawing.Image.FromFile(HttpContext.Server.MapPath("~/Logos/"+  companyName  +".png"))
我将此图像加载到Viewdata中:

ViewData["Image"] = image;
我将其返回到视图,并在那里再次加载该图像:

<img src=@ViewData["Image"] alt="" />


图像不显示。你能帮我解决那个问题吗

既然您在代码中使用了MapPath,我相信图像文件在项目源代码中,而不是二进制格式。您应该在视图文件中像这样使用图像路径,将下面的路径替换为项目中文件的路径:

<img src="@Url.Content("~/Content/App/Images/filename.gif")" alt="Loading..." />
视图中:

public ActionResult Action1(){
 ViewData.CompanyName = "C1"; // this value can be populated from anywhere.
 return View();
}
<img src="@Url.Content(String.Format("~/Logos/{0}.png", ViewData.CompanyName))" alt="Loading..." />

其中
ViewData.CompanyName
是一个字符串,填充后提供给视图。 您还可以使用强类型类为视图创建模型,而不是使用ViewData


在浏览器中呈现此视图时,如果文件位于该位置,并且您有权查看该资源,则该视图将具有此图像。

src属性指定图像的URL,而不是图像本身。这是一个字符串值。你应该这样做

string imageURL = "~/Logos/"+  companyName  +".png"; (or use string.concat)
ViewData["Image"] = imageURL ;

<img src=@ViewData["Image"] alt="" />
string imageURL=“~/Logos/”+companyName+”.png”;(或使用string.concat)
ViewData[“图像”]=图像URL;

无需将路径转换为System.Drawing.Image。试试这个:

var imageURL = Url.Content("~/Logos/"+  companyName  +".png");
ViewData["ImageURL"] = imageURL;
那么在你看来,

<img src="@(ViewData["ImageURL"])" alt="" />


如果您在
视图数据中有图像类型,那么为什么要在img标记中将其作为图像src?您正在将整个图像对象放入视图数据中!!那没有必要。。以这种方式缓存的对象很大