如何在Razor语法中使用JavaScript

如何在Razor语法中使用JavaScript,javascript,asp.net-mvc,razor,Javascript,Asp.net Mvc,Razor,我需要在Razor语法中使用JavaScript。 这是我的JavaScript函数。我需要获得我的元素ID,并基于此,我尝试从我的模型的图像列表中获取图像URK <script> function pickThisPicture(element) { var id = element.id; document.getElementById("big-picture").src = "@Url.Content(Model.Images[id].

我需要在Razor语法中使用JavaScript。 这是我的JavaScript函数。我需要获得我的元素ID,并基于此,我尝试从我的模型的图像列表中获取图像URK

<script>
    function pickThisPicture(element) {
        var id = element.id;
        document.getElementById("big-picture").src = "@Url.Content(Model.Images[id].Url)";
    }
</script>

函数pickThisPicture(元素){
var id=element.id;
document.getElementById(“大图片”).src=“@Url.Content(Model.Images[id].Url)”;
}
如何将发送到函数的元素的ID放入Model.Images对象

我试过这样的方法,但都不管用:

document.getElementById("big-picture").src = "@Url.Content(Model.Images[@:id].Url)";
document.getElementById("big-picture").src = "@Url.Content(Model.Images[<text>id</text>].Url)";
document.getElementById(“大图片”).src=“@Url.Content(Model.Images[@:id].Url)”;
document.getElementById(“大图片”).src=“@Url.Content(Model.Images[id].Url)”;

谢谢。

你不能做你想做的事。请记住,Razor代码在加载页面时在服务器上运行。页面完成呈现后,客户端将加载Javascript。您不能简单地调用服务器代码,这取决于客户端代码的结果


为了使用仅在运行时才知道的值进行服务器调用,您必须使用某种AJAX调用。

您无法执行所尝试的操作。请记住,Razor代码在加载页面时在服务器上运行。页面完成呈现后,客户端将加载Javascript。您不能简单地调用服务器代码,这取决于客户端代码的结果


为了使用仅在运行时才知道的值进行服务器调用,您必须使用某种AJAX调用。

您无法执行所尝试的操作。请记住,Razor代码在加载页面时在服务器上运行。页面完成呈现后,客户端将加载Javascript。您不能简单地调用服务器代码,这取决于客户端代码的结果


为了使用仅在运行时才知道的值进行服务器调用,您必须使用某种AJAX调用。

您无法执行所尝试的操作。请记住,Razor代码在加载页面时在服务器上运行。页面完成呈现后,客户端将加载Javascript。您不能简单地调用服务器代码,这取决于客户端代码的结果


为了使用仅在运行时已知的值进行服务器调用,您必须使用某种AJAX调用。

一个建议是使用包含“较大”图像URL的数据值生成元素,然后在页面端函数中访问该值

<image data-big-url='@Url.Content(Model.Images[id].Url' class='smallimages' />

一个建议是使用包含“更大”图像URL的数据值生成元素,然后在页面端函数中访问该值

<image data-big-url='@Url.Content(Model.Images[id].Url' class='smallimages' />

一个建议是使用包含“更大”图像URL的数据值生成元素,然后在页面端函数中访问该值

<image data-big-url='@Url.Content(Model.Images[id].Url' class='smallimages' />

一个建议是使用包含“更大”图像URL的数据值生成元素,然后在页面端函数中访问该值

<image data-big-url='@Url.Content(Model.Images[id].Url' class='smallimages' />

可能重复调用传递图片id的javascript函数…这是用于点击调用吗?@Tom这不是该问题的重复-该问题/答案是关于在初始页面加载时呈现javascript的,这是完全合法的。这个问题是关于在一个值上执行服务器代码,这个值只有在客户端才知道,因此无法回答。您应该将url存储在隐藏输入中,并将隐藏输入的id设置为图像id,将值设置为url,然后您可以获得src,如
$(“#“+id).val()
这似乎是一个模型。Images是一个数组,id是一个HTML id,它不能仅仅是一个数字,必须以字母开头:因此,您可能会遇到问题?可能是DOM组中某个图像的索引?可能是调用您传递图片id的javascript函数的副本…这是用于点击调用吗?@Tom这不是该问题的副本-该问题/答案是关于在初始页面加载时呈现javascript的,这是完全合法的。这个问题是关于在一个值上执行服务器代码,这个值只有在客户端才知道,因此无法回答。您应该将url存储在隐藏输入中,并将隐藏输入的id设置为图像id,将值设置为url,然后您可以获得src,如
$(“#“+id).val()
这似乎是一个模型。Images是一个数组,id是一个HTML id,它不能仅仅是一个数字,必须以字母开头:因此,您可能会遇到问题?可能是DOM组中某个图像的索引?可能是调用您传递图片id的javascript函数的副本…这是用于点击调用吗?@Tom这不是该问题的副本-该问题/答案是关于在初始页面加载时呈现javascript的,这是完全合法的。这个问题是关于在一个值上执行服务器代码,这个值只有在客户端才知道,因此无法回答。您应该将url存储在隐藏输入中,并将隐藏输入的id设置为图像id,将值设置为url,然后您可以获得src,如
$(“#“+id).val()
这似乎是一个模型。Images是一个数组,id是一个HTML id,它不能仅仅是一个数字,必须以字母开头:因此,您可能会遇到问题?可能是DOM组中某个图像的索引?可能是调用您传递图片id的javascript函数的副本…这是用于点击调用吗?@Tom这不是该问题的副本-该问题/答案是关于在初始页面加载时呈现javascript的,这是完全合法的。这个问题是关于在一个值上执行服务器代码,这个值只有在客户端才知道,因此无法回答。您只需将url存储在隐藏输入中,并将隐藏输入的id设置为图像id,将值设置为url,然后您就可以获得src,如
$(“#”+id).val()
它将出现