我有一个JavaScript函数,我需要在我的body标签内调用。我的JavaScript函数如下所示:
function NewExistingPicture(pictureName) {
//code for JavaScript function
}
这就是我在HTML中尝试做的事情:
Existing Photos:
<% foreach (var Photo in Model.ProductThumbnails)
{ %>
NewExistingPicture(<%= Html.Encode(Photo.PhotoName) %>)
<% } %>
显然这不起作用,但我不知道如何从模型中传递函数信息。
答案 0 :(得分:2)
试试这个:
<script type="text/javascript">
<% foreach (var Photo in Model.ProductThumbnails)
{ %>
NewExistingPicture('<%= Photo.PhotoName.Replace(@"'", @"\'") %>');
<% } %>
</script>
(.Replace()将转义字符串中的任何单引号,因此您创建的字符串将有效)
答案 1 :(得分:0)
我认为你需要做一些事情,比如编写一个包含所有javascript的完整脚本部分,然后在文档完成加载时运行。
我认为这也可能最好从控制器代码中写出来,这样你就可以设置一个变量,然后将其插入到页面中。
<%= Model.Javascript %>
并在控制器中;
ActionResult MyAction()
{
myModel.Javascript = "<script>alert(9);</script";
return View(myModel);
}
上述内容完全没有经过测试,但无论如何我都应该认真。
答案 2 :(得分:0)
<%@ Import Namespace="System.Web.Script.Serialization" %>
<% var js = new JavaScriptSerializer(); %>
...
NewExistingPicture(<%= Html.Encode(js.Serialize(Photo.PhotoName)) %>)