jQuery fileTree:传递'文件'作为参数

时间:2014-05-07 15:17:42

标签: jquery

我正在努力了解其他人的代码并努力挣扎。他们使用的是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>

1 个答案:

答案 0 :(得分:0)

您需要调查它与Razor不兼容的原因。由于某些原因,很难远程调试,Razor无法正确解释您的javascript变量。检查你的HTML。