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


<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 中

img给出classId,如下所示

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

然后使用classID设置属性值,如下所示

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

对于这个例子,我使用了class你也可以使用ID

你不能直接使用 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" />

我遇到了你面临的类似问题:我有JavaScript代码,在页面加载后运行以带来项目列表,每个项目可能都有一个缩略图,存储在wwwroot下(asp.net 核心2.0说话)。

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

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

选项 1

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

选项 2(ASP.NET 核心 2.0)

将图像/缩略图物理存储在您的 Web 根文件夹中,即通过app.UseStaticFiles()Startup.cs中的Configure()方法wwwroot/images并启用静态文件。

然后你可以用你的JavaScript变量构建你的镜像,比如

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

相对路径可能看起来像/uploads/2018/1/1/pic1.jpg,没有内容根。

最新更新