jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了为什么jQuery FileTree在未设置时显示文件?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用 jqueryfiletree plugin,它似乎已经建立并且相当顺利,但我有一些问题:

尽管选项设置如下:

$(function() {
    $("#sourceFileTree").fileTree({
        onlyFolders: true,root: "C%3a%5cProjects%5cBMW%5cCode%5cFileTransfers.Web",script: "/FileTree/Tree",multiFolder: false,multiSELEct: false,preventLinkAction: true
    });
});

> onlyFolders似乎被忽略,任何打开的文件夹也会显示它包含的文件.
> multiSELEct也是如此:false.然我可以一次只“选择”(以粗体突出显示)一个文件,但我仍然可以根据需要检查尽可能多的文件夹和文件复选框.
>只有multiFolder:false似乎按照记录的方式工作,但我不知道是否因为这是认行为.

如果我想配置此小部件以允许用户只选择一个文件夹,我做错了什么?

解决方法

连接器(是的,你的自定义的)是对结果执行过滤的.如果您不是在寻找/使用jQuery插件中传递的参数,那么结果将不是您所期望的.从上面发布的链接( https://github.com/jqueryfiletree/jqueryfiletree/blob/master/dist/connectors/Asp.Net-MVC/FileTreeController.cs)和似乎使用适用选项( https://github.com/jqueryfiletree/jqueryfiletree/blob/master/dist/connectors/jqueryFileTree.php)的PHP版本,我们可以稍微更新一下以返回更好的结果集.

注意 – 我们没有深入了解您的文件,所以这是一个使用一些样板代码的非常新手的例子.另外,我知道你的答案是关于.NET核心的,但即使4.6和Core之间的语法不完全相同,逻辑仍然应该成立

[httpPost]
//notice the added additional params to the expected request variables
//these appear to match the names of the jQuery options
public virtual ActionResult GetFiles(String dir,bool multiSELEct,bool onlyFolders,bool onlyFiles)
{
    const String baseDir = @"/App_Data/userfiles/";

    dir = Server.UrlDecode(dir);
    String realDir = Server.MapPath(baseDir + dir);

    //validate to not go above basedir
    if (! realDir.StartsWith(Server.MapPath(baseDir)))
    {
        realDir = Server.MapPath(baseDir);
        dir = "/";
    }

    List<FileTreeviewmodel> files = new List<FileTreeviewmodel>();

    DirectoryInfo di = new DirectoryInfo(realDir);

    foreach (DirectoryInfo dc in di.GetDirectories())
    {                
        files.Add(new FileTreeviewmodel() { Name = dc.Name,Path = String.Format("{0}{1}\\",dir,dc.Name),IsDirectory = true });
    }

    foreach (FileInfo fi in di.GetFiles())
    {
        files.Add(new FileTreeviewmodel() { Name = fi.Name,Ext = fi.Extension.SubString(1).ToLower(),Path = dir+fi.Name,IsDirectory = false });
    }
    //lets filter some results using the properties of 
    //the `FileTreeviewmodel()` class
    //I have no idea how you are wanTing to use multiSELEct,so 
    //it has been left out of this example.
    if(onlyFolders){
        files = files.Where(x=>x.IsDirectory).ToList();
    }
    if(onlyFiles){
        files = files.Where(x=>!x.IsDirectory).ToList();
    }
    return PartialView(files);
}

大佬总结

以上是大佬教程为你收集整理的为什么jQuery FileTree在未设置时显示文件?全部内容,希望文章能够帮你解决为什么jQuery FileTree在未设置时显示文件?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。