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

发布于 2024-11-02 05:26:34 字数 443 浏览 1 评论 0原文

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

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

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

看来这是方便性与性能的决定。

选项 #2 更容易,因为我可以在 C# 中完成所有绑定(和任何逻辑),但似乎 #1 会快得多,因为我没有通过网络发送所有 HTML(只是 json 数据)。这假设客户端上的绑定将比额外网络影响的性能影响更快。

当使用 asp.net-mvc 填充表单时,我在返回 json 或 PartialView() 的决定中是否遗漏了任何其他因素

I have an asp.net-mvc site. I have a page with a grid of data on it and when I want to edit a row (by showing up a popup form). I have 2 options:

  1. Preloading and hiding the form on initial page load in a hidden div and then returning json from the server, binding all of the fields and attributes on the client side and then showing it.

  2. Returning PartialView() from the server of a PartialView() in which case all the binding is on the server side

It seems that this is decision of convinience versus performance.

Option #2 is much easier because I can do all the binding (and any logic) in C# but it seems like #1 would be much faster because I am not sending over all of that HTML over the network (just the json data). This assumes that the binding on the client side is going to be faster than the performance hit of the extra network hit.

Is there any other factors that I am missing in this decision to return json or a PartialView() when using asp.net-mvc to populate a form

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

十秒萌定你 2024-11-09 05:26:34

我认为这不是JSon或Partial View的问题。相反,这是一个方法问题。我会将其改写为“我应该在隐藏的 div 中加载页面上的数据还是应该在需要时加载部分视图”?

我更喜欢部分视图,因为它不会使初始负载变得庞大,并且还有助于保持渲染内容的清晰分离。

I think it is not a question of JSon or Partial View. Rather this is a question of approach. I would rephrase this as "Should I load the data on page in hidden divs or Should I load the partial view when needed"?

I would prefer the partial view as it doesn't make the initial load bulky and also helps to maintain clear seperation of what is rendered when.

油焖大侠 2024-11-09 05:26:34

支持 json 方式的另一个论点是平台独立性。如果您以 json 方式执行此操作,则以后在需要时切换平台会更容易。部分视图将您与 .NET 平台紧密联系在一起。 Json 可以通过许多不同的平台解决方案提供服务,例如 Nodejs。

Another argument in favour of the json way is platform independence. If you do it the json way, it will be much easier later on to switch platforms, if needed. Partial views tie you tightly to the .NET platform. Json can be served from many different platform solutions, for example nodejs.

别低头,皇冠会掉 2024-11-09 05:26:34

对于您的特定场景,我会推荐部分视图方法。

这是一篇很棒的文章,讨论了 MVC 中模式对话框的选项。 jQuery-UI 对话框显然是赢家,他的示例效果非常好。

http://www.codeproject.com/KB/ajax/jQuery-Modal -Dialogs.aspx

我也喜欢加载部分视图的想法,因为你可以强类型化它们,这总是一个好主意。

For your particular scenario, i would recommend the partial view method.

here is a great article that discusses options for modal dialogs in mvc. the jQuery-UI dialog is the clear winner and his example works perfect.

http://www.codeproject.com/KB/ajax/jQuery-Modal-Dialogs.aspx

I also like the idea of loading partial views because u can strongly type them, which is always a good idea.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文