繁体   English   中英

如何使用javascript或jquery在src =“ @ url.content”中传递值

[英]How to pass a value in src=“@url.content” using javascript or jquery

<script>

    var Details = function (Id, username, Empname, UserType, Address, Gender, Mob, image) {
        $("#hiddenEmployeeId").val(Id);
        $("#EditModal").modal("show");
        $("#susertype").html(UserType);
        $("#saddress").html(Address);
        $("#sgender").html(Gender);
        $("#smob").html(Mob);
        $("#suname").html(Empname);
        $("#sename").html(username);
    }


</script>

从脚本上方的图像变量形式获取价值

<img src="@Url.content("")" />

我必须放在这张img中

您不能直接使用javascript变量。 因此,您必须像下面那样管理图像路径。

<script>    
    var Details = function (Id, username, Empname, UserType, Address, Gender, Mob, image) {
        $("#hiddenEmployeeId").val(Id);
        $("#EditModal").modal("show");
        $("#susertype").html(UserType);
        $("#saddress").html(Address);
        $("#sgender").html(Gender);
        $("#smob").html(Mob);
        $("#suname").html(Empname);
        $("#sename").html(username);
        $("#image").attr("src",@Url.content("~/")image);
    }
</script>
<img id="image" />

classIdimg如下

<img class="img" src="@Url.content("")" />

然后使用以下classID设置属性值

$(".img").attr("src","xyz");

在本例中,我使用了class ,也可以使用ID

我有点遇到您遇到的类似问题:我有一个JavaScript代码,该代码在页面加载后运行以带出项目列表,并且每个代码都有一个缩略图,该缩略图存储在wwwroot下(使用ASP.NET Core 2.0)。

我不能仅仅构建<a href="THE_PATH" download />其路径来自JavaScript代码,因为出于安全原因,在某些现代浏览器中,即会出现错误, 不允许加载本地资源

理想情况下,您(希望您)可以使用<a href="@Url.Content("THE_PATH")" />来从服务器获取内容并解决问题。 但是您不能将PATH注入@Url.Content()因为@Url.Content()首先在服务器端执行,并且从JavaScript代码注入路径时为时已晚。

选项1

将图像/缩略图作为记录存储在具有标识符的数据库中(GUID效果最好),然后在页面上建立一个链接,该链接对应于一个Controller和一个通过id获取图像并将其内容作为文件结果返回的Action ,即, return File();

选项2(使用ASP.NET Core 2.0)

将图像/缩略图物理存储在Web根文件夹(即wwwroot/images然后通过将app.UseStaticFiles()放在Startup.csConfigure()方法app.UseStaticFiles()启用静态文件。

然后,您可以使用JavaScript变量(例如

<img src="{{ SOME_JS_VARIABLE_THAT_HOLDS_RELATIVE_PATH }}" />

相对路径可能类似于/uploads/2018/1/1/pic1.jpg之类的内容,但没有内容根。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM