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

时间:2017-03-30 10:58:26

标签: javascript c# jquery asp.net-mvc

<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

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

classId提供给img,如下所示

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

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

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

对于此示例,我使用了class您也可以将ID用于相同的

答案 2 :(得分:0)

我遇到了类似的问题:我有一些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效果最佳),并在页面上构建一个与ControllerAction对应的链接,用于获取图像按id并将其内容作为文件结果返回,即return File();

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

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

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

)构建图像
Startup.cs

相对路径可能看起来像<img src="{{ SOME_JS_VARIABLE_THAT_HOLDS_RELATIVE_PATH }}" /> ,没有内容根。