我正在努力了解其他人的代码并努力挣扎。他们使用的是jquery fileTree插件,它在浏览器上提供交互式文件树。在这种情况下,文件表示已上载到服务器的图像。
他们使用的代码如下。当用户单击文件树中的文件时,相关图像将显示在#preview
img元素中。这条线很好用。但是,这个函数的第二行,从$('#info')
开始,是我自己插入的,它不起作用。我正在尝试使用标识为#info
的按钮来更改按下时发生的情况。我希望它使用操作Image
调用Info
控制器,并传递参数image_id
。我希望将image_id
分配给file
行中使用的相同$('#fileTree')
变量。当我将光标悬停在新行上方时,出现以下错误:The name 'file' does not exist in the current context.
任何有使用fileTree插件经验的人都可以向我解释file
变量究竟是什么,以及为什么它不允许我将其作为参数发送,如上所述?为什么第一行('#preview')
允许,而第二行('#info')
不允许?
谢谢!
<script type="text/javascript">
function updateTree()
{
$('#filetree').fileTree(
{root: '', script: '@Url.Action("Index", "Folder")'},
function (file)
{
$('#preview').attr('src', '@Url.Action("GetImage", "Image")?width=640&drawLabels=true&id=' + file);
$('#info').attr('value', file).attr('onclick', "location.href='@Url.Action("Info", "Image", new { image_id = file })'");
}
);
}
updateTree();
</script>
答案 0 :(得分:0)
您需要调查它与Razor不兼容的原因。由于某些原因,很难远程调试,Razor无法正确解释您的javascript变量。检查你的HTML。