Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 行政科设计决定_Javascript_Jquery_Asp.net Mvc_Jqgrid - Fatal编程技术网

Javascript 行政科设计决定

Javascript 行政科设计决定,javascript,jquery,asp.net-mvc,jqgrid,Javascript,Jquery,Asp.net Mvc,Jqgrid,我正在编写一个web应用程序的管理组件。管理任务涉及复杂对象上的CRUD操作 对象有许多部分,每个部分有许多类别,每个类别有许多子类别 管理员应该能够在任何级别对对象进行更改。例如,添加/编辑/删除节、类别或子类别 我正在使用MVC3,并找到了三种可能的解决方案来制作前端 使用Razor视图引擎 使用jQuery模板插件列出项目,并使用jQuery UI对话框创建/编辑屏幕 使用jQrid在父/子网格中显示数据,jQgrid提供内置的创建/编辑/删除操作 我很难决定哪条路最好,谁能告诉我一点 这

我正在编写一个web应用程序的管理组件。管理任务涉及复杂对象上的CRUD操作

对象有许多部分,每个部分有许多类别,每个类别有许多子类别

管理员应该能够在任何级别对对象进行更改。例如,添加/编辑/删除节、类别或子类别

我正在使用MVC3,并找到了三种可能的解决方案来制作前端

  • 使用Razor视图引擎
  • 使用jQuery模板插件列出项目,并使用jQuery UI对话框创建/编辑屏幕
  • 使用jQrid在父/子网格中显示数据,jQgrid提供内置的创建/编辑/删除操作

  • 我很难决定哪条路最好,谁能告诉我一点

    这是一个相当宽泛的问题,一些人可能会认为这是主观的,但在您的设计中有许多考虑因素可能会让您倾向于某个决策

    Razor视图引擎允许您在服务器脚本方面保持UI的轻量级,但仍然允许您在服务器端执行大量繁重的工作(尤其是在数据绑定方面)。就jQuery和CSS而言,它可能需要更少的前端编码

    jQuery模板是下一步“下一步”。它们仍然在应用程序逻辑和表示之间保持合理程度的解耦,但是需要更多的前端编码,这可能仍然需要更多的JsonResult调用来支持,而不是其他方式。根据您公开数据的方式,您可能会发现使用jQuery模板在UI和呈现方面提供了比其他方式更大的灵活性

    jQGrid并不是专门为管理这种程度的子实体(对象)嵌套而设计的。它当然可以工作,但可能比您在这里想要使用的更适合更干净的数据数组。我认为,如果你采用这种设计路线,你可能会打开一个痛苦的世界


    总之,在没有任何进一步细节的情况下,我建议您根据您的UI需求,选择您正在考虑的前两个选项中的一个。

    这是一个相当广泛的问题,一些人可能会认为这是主观的,但是,在您的设计中有许多考虑因素可能会让您倾向于某个决策

    Razor视图引擎允许您在服务器脚本方面保持UI的轻量级,但仍然允许您在服务器端执行大量繁重的工作(尤其是在数据绑定方面)。就jQuery和CSS而言,它可能需要更少的前端编码

    jQuery模板是下一步“下一步”。它们仍然在应用程序逻辑和表示之间保持合理程度的解耦,但是需要更多的前端编码,这可能仍然需要更多的JsonResult调用来支持,而不是其他方式。根据您公开数据的方式,您可能会发现使用jQuery模板在UI和呈现方面提供了比其他方式更大的灵活性

    jQGrid并不是专门为管理这种程度的子实体(对象)嵌套而设计的。它当然可以工作,但可能比您在这里想要使用的更适合更干净的数据数组。我认为,如果你采用这种设计路线,你可能会打开一个痛苦的世界


    总之,在没有任何进一步细节的情况下,我会推荐您正在考虑的前两个选项之一,取决于您的UI需求。

    我认为,您描述的三种方式之间的选择应该取决于两个额外的方面:1)您在所有技术方面的专业知识,2)时间和舒适度因素。您是否需要更快速、更脏的解决方案,或者您希望定义您的后端?时间因素对你来说越重要,你就越应该主要根据你目前的专业知识做出选择

    我可以再给你推荐一种我个人更喜欢的方式。我喜欢将数据和业务界面与网站上的数据可视化进行清晰的分离。因此,我设计了具有用户授权和授权的RESTful WFC服务,它实现了站点的整个业务逻辑。我将WCF服务发布为我的网站的一部分(有关详细信息,请参阅)。如果需要,可以编写单元测试来测试作为站点核心的WCF服务

    拥有WCF服务后,您可以选择站点的演示部分。我个人知道并喜欢jqGrid。它有许多特性,允许您在网站上创建非常舒适的GUI。管理组件的网格可以有工具栏搜索和高级搜索。按列排序、调整网格列的大小、使用拖放重新排序、隐藏不需要的列等等都可以非常容易地实现。或/和的数据过滤将花费更多的时间在服务器上编程,但您可以在所有网格中使用此功能。重要的是,为了能够使用服务器端分页和过滤,您应该使用包含分页、排序和过滤信息的方法扩展web服务的接口

    如果您决定使用jqGrid,那么MVC视图可以包含大部分空表和每个网格一个JavaScript。JavaScript将使用jqGrid调用WCF服务来填充网格。在ASP.NET MVC中,您主要可以构造菜单和工作流,它们可以依赖于用户(取决于站点上的用户权限)

    因此,我认为,您应该根据自己的要求、您在所有技术方面的专业知识、时间因素以及对场地的舒适性要求来做出选择。在所有情况下,您都需要决定如何设计网站,以显示和修改所有类别、子类别和其他层次结构和依赖性