Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.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
Jquery ajax和asp.net-mvc-我应该使用PartialView还是Json?_Jquery_Asp.net Mvc_Json_Asp.net Mvc Partialview - Fatal编程技术网

Jquery ajax和asp.net-mvc-我应该使用PartialView还是Json?

Jquery ajax和asp.net-mvc-我应该使用PartialView还是Json?,jquery,asp.net-mvc,json,asp.net-mvc-partialview,Jquery,Asp.net Mvc,Json,Asp.net Mvc Partialview,我有一个asp.net-mvc网站。我有一个页面,上面有一个数据网格,当我想编辑一行时(通过显示一个弹出表单)。我有两个选择: 在初始页面加载时将表单预加载并隐藏在隐藏的div中,然后从服务器返回json,在客户端绑定所有字段和属性,然后显示它 从PartialView()的服务器返回PartialView(),在这种情况下,所有绑定都在服务器端 这似乎是方便与性能的对比 选项#2更简单,因为我可以用C语言进行所有绑定(以及任何逻辑),但看起来#1会快得多,因为我没有通过网络发送所有HTML(只

我有一个asp.net-mvc网站。我有一个页面,上面有一个数据网格,当我想编辑一行时(通过显示一个弹出表单)。我有两个选择:

  • 在初始页面加载时将表单预加载并隐藏在隐藏的div中,然后从服务器返回json,在客户端绑定所有字段和属性,然后显示它

  • 从PartialView()的服务器返回PartialView(),在这种情况下,所有绑定都在服务器端

  • 这似乎是方便与性能的对比

    选项#2更简单,因为我可以用C语言进行所有绑定(以及任何逻辑),但看起来#1会快得多,因为我没有通过网络发送所有HTML(只是json数据)。这假设客户端上的绑定速度将快于额外网络命中的性能命中


    在使用asp.net-mvc填充表单时返回json或PartialView()的决定中,我是否缺少任何其他因素?我认为这不是json或部分视图的问题。相反,这是一个方法问题。我会将其重新表述为“我应该在页面上的隐藏div中加载数据,还是应该在需要时加载部分视图”


    我更喜欢局部视图,因为它不会使初始加载变得笨重,也有助于保持渲染时的清晰分离。

    对于您的特定场景,我建议使用局部视图方法

    这是一篇很棒的文章,讨论了mvc中模式对话框的选项。jQueryUI对话框显然是胜利者,他的例子非常好用


    我也喜欢加载局部视图的想法,因为你可以强烈地键入它们,这总是一个好主意

    支持json方式的另一个论点是平台独立性。如果您使用json方式,那么以后在需要时切换平台会容易得多。局部视图将您与.NET平台紧密地联系在一起。Json可以由许多不同的平台解决方案提供,例如nodejs。

    这是一个永恒的问题:AJAX中的部分HTML与Json。我认为你不会得到一个明确的答案。这两种方法都是有效的。@Darin Dimitrov-我知道这两种方法中的任何一种都是有效的(如上所列),但我只是想看看在决定在这种情况下哪一种更适合我时,我是否遗漏了什么。@oo,我认为您完美地平衡了这两种方法的优缺点:基本上是性能与开发的便利性。@Darin Dimitrov-比较json与部分视图(以字节为单位)的数据量的最佳方法是什么。我担心的是,迁移到Json方法(相对于使用压缩的部分视图等)很难预先告诉我Json将给我带来多大的节约@哦,FireBug是这个工作的好工具。你推荐的理由是什么。我在这两种情况下都使用jQueryUI对话框,所以我不明白它是如何发挥作用的。该链接再次给出了与其他对话框不同的比较。这不是我的问题。我没有共享用于比较插件的链接——只是为了jquery对话框的演示代码。他提供了一种干净、可重用的方法,用于将部分加载到模态对话框中。