我的系统:win7 64位中文旗舰版
开发工具:vs2015
程序类型:MVC5

我的目标是在一个页面上显示一张图片。在之前的纯html上就比较容易,直接用 <img src="images/123.jpg">就能显示了,但是现在的mvc新手,就有点不知所措了,之前搜索过如何显示,那时的情况刚好和搜索出来的情形基本一致,所以没有遇到更多问题,今天又想显示图片,但情况似乎有所改变,导致无法显示。

先说之前工程的图片显示:

图片位置: /Content/theme/default/images/
在一个form中做为背景图片显示,如下所示:

@using (Html.BeginForm("test", "test", FormMethod.Post, new { style= "background-image:url(" + @SSS.themePath + "images/mainbkg.jpg);" }))
// 注:在model文件中有如下定义:
public class SSS
    static public string themePath = "/Content/themes/default/";

这是可以正常显示这个背景图片的,生成的html中,它的style内容为:

style="background-image:url(/Content/themes/default/images/mainbkg.jpg);"

看样子,这个url()是在后台解析的,而不是把结果编码进html流。

我新的工程中,图片目录和类SSS同前面的工程一样,由于我要动态生成table,并在table中显示我的图片,所以我就在布局页面 _Layout.cshtml 中加入一个div,我把图片的目录url设置到这个div中,在我动态加载图片时,就从这个div中获取图片目录,然后再加上要显示的图片名称就行了。为了测试动态显示图片,我就直接在布局页面中又加入了一个div看是否可以正常显示图片,两个div如下所示:

<div id="ht_div_ThemePath" data-url="@SSS.themePath"></div>
<div id="themeTest">abcddd</div>

我定义了一个函数,用于获取对应的页面元素:

function Gho(eleId)
    var htmlObj = document.getElementById(eleId)
    return htmlObj;

定义获取图片目录的函数:

function GetThemePath()
    var ht_div_ThemePathHo = Gho("ht_div_ThemePath");
    var themePath = ht_div_ThemePathHo.dataset.url;
    return themePath;

这个函数用来获取第一个div ht_div_ThemePath 的图片目录参数,这样以后用起来就方便了,在布局页面的结尾处,写测试代码:

<script>
	var aImgName = GetThemePath();
	var filePath = "url(" + aImgName + "images/arrowright.png)";    // 使用这一行,可以显示图片
	//var filePath = aImgName + "images/arrowright.png";    // 使用这一行,无法显示图片
	var themeTestHo = Gho("themeTest");
	themeTestHo.style.backgroundImage = filePath;    // div的背景图片
</script>

这个试验说明,url()函数确实起到作用了。上面是显示为背景图片,下面再进行测试:

<script>
	var aImgName = GetThemePath();
	var filePath = "url(" + aImgName + "images/arrowright.png)";
	var themeTestHo = Gho("themeTest");
	themeTestHo.innerHTML = "<img src=" + filePath + ">";
</script>

在测试的div中直接显示这张图片,结果失败,页面上显示为一个无法显示图片的那个x号小图片。然后把url()去掉,如下:

<script>
	var aImgName = GetThemePath();
	var filePath = aImgName + "images/arrowright.png";
	var themeTestHo = Gho("themeTest");
	themeTestHo.innerHTML = "<img src=" + filePath + ">";
</script>

这样可以成功显示。img的src值,是否添加''都不影响结果:

<script>
	var aImgName = GetThemePath();
	var filePath = aImgName + "images/arrowright.png";
	var themeTestHo = Gho("themeTest");
	themeTestHo.innerHTML = "<img src=" + filePath + ">";      // 可以显示
	themeTestHo.innerHTML = "<img src='" + filePath + "'>";    // 可以显示
</script>

对于 img,直接写路径
对于background,需要调用 url()

我的系统:win7 64位中文旗舰版开发工具:vs2015程序类型:MVC5我的目标是在一个页面上显示一张图片。在之前的纯html上就比较容易,直接用 &lt;img src="images/123.jpg"&gt;就能显示了,但是现在的mvc新手,就有点不知所措了,之前搜索过如何显示,那时的情况刚好和搜索出来的情形基本一致,所以没有遇到更多问题,今天又想显示图片,但情况似乎有所改变,导致无法显示。先说之前工程的图片显示:图片位置: /Content/theme/default/images
首先,有好一阵没有怎么写博客文章了.实在也是很多事情,确实没有停下来过. 这两天在讲解MVC方面的知识和项目实践,其有一个小的细节,是有关于图片显示方面的,记录下来供大家参考 在MVC项目,要显示一个图片,尤其是该图片是存放在数据库的话,还是可以继续使用原先Web Forms的那种ashx的方式。但也可以考虑下面的方式   1.创建一个ImageResultusing System; using System.Collections.Generic; using System.Linq;
由于.net mvc有一个虚拟路径类似~/Views/Images/logo.jpg,在设置image的src时试着使用 了一下,发现无法正确获取图片,无法显示。于是进行了测试: 1.首先在mvc项目的目录下分别创建了两个文件夹,用于存放要显示图片,目录结构与图片如下,分别在根目录下和Views目录下存放图片,下一步分别引用测试。 2.前端用不同的引用格式对两张不同位置的图片进行引用,htm...
关于显示图片的最好方法当然是img 的src直接指向地址,简单实用。但是有时候也会使用到使用图片显示图片的方法。实现也比较简单(在C# mvc,java的不了解)。具体如下: 1.前台cshtml部分 添加img 标签,其地址指向后台的返回图片流的方法。 <img src="@Url.Action("ShowImage","ShowImgFromImgByte",new { i...
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 开发工具和关键技术:Visual Studio 2015,ASP.NET MVC 作者:金建勇 撰写时间:2019年5月10日 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 在做项目过程,有时候会遇到添加个人资料这样的功能,需要录...
作者:邹赛 撰写时间:2019/3/28 可通过浏览器页面预览电脑图片,再将图片进行转换保存进入数据库,需要时可在数据库查找,进行转换之后可在页面进行预览,以下是HTML代码以及插件 1.图片预览 声明一个FileReader()接口用于读取文件,然后调用’选择文件’按钮的改变事件,通过prop()方法获取所选图片的属性...