基于ASP.NET MVC2的富客户端Web应用程序前端实现建议
我们使用 MVC2 来构建我们的 Web 应用程序。我们的项目中有一些复杂的页面。它们有大量的用户交互性、实时股票数据和图表,无需刷新页面。
我是前端开发和 ASP.NET MVC2 的新手。使用了一段时间后,我认为它是一个基于表单的表示层框架(我可能是错的)。如果大多数 UI 操作都在一个网页内执行,那么使用 ajax 和 javascript 来呈现数据并运行 UI 逻辑似乎更好。
然后我发现有两种方法可以在我们的应用程序中渲染 UI:使用 MVC2 将 UI 模型绑定到 View 并使用 javascript 填充视图。如果实现越来越多的视图,这看起来不太优雅或者可能会变得混乱。
看来 MVC2 控制器擅长作为 RESTful UI 模型数据提供者。所以我认为将解决方案设置为控制器(模型数据)-> HTML 布局 + javascript(ui 逻辑)可能是实现此类富客户端 Web 应用程序的好方法。这是一个好的做法吗?或者您对此类项目有什么建议?有没有任何网络资源(文章或示例项目)可供参考?
多谢。
We use MVC2 to build up our web app. There are some complicated pages in our project. They have plenty of user interactivities, realtime stock data and charts, requiring no page refresh.
I am new to front end development and ASP.NET MVC2. After using it for a while I think it's a form-based framework for presentation layer(I maybe wrong). If most UI actions are excuted inside one web page, using ajax and javascript to render data and run UI logic seems better.
Then I find there're two way to rendering UI in our app: binding UI model to View using MVC2 and filling the view using javascript. This seems not so elegant or may possibly mess if more and more views are implemented.
It seems MVC2 controller is good at being RESTful UI model data provider. So I think make the solution as Controller(model data)->HTML layouts + javascript(ui logic) could be a good way to implement such a rich client web app. Is it a good practice to do? Or what's your advice on this kind of project? Are there any web resources(articles or sample projects) for reference?
Thanks a lot.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
让您的操作仅返回数据并不是一个坏习惯,您可以让您的操作返回 JSon 对象,因为它们是轻量级的并且使用 JsonP 跨不同域发出 ajax 请求。
您可以尝试使用新模板 JQuery PlugIn 来呈现您的视图。
It's not a bad practice to make your actions return just data, you could make your actions return JSon objects since they are lightweight and use JSonP to make ajax request across different domains.
You can try the new template JQuery PlugIn to render your views.
我的建议是构建您的应用程序,使其无需 JavaScript 即可运行。然后使用 JQuery(一个 JavaScript 库)和 Ajax 来改善用户体验。
请注意,您的 RIA 需求完全有可能超出 Jquery 的能力范围。在这些场景中,人们可能会考虑另一种解决方案(HTML5、SilverLight、Flash 等)。或者您可以降低 RIA 需求。
My suggestion would be to build up your application such that it works without JavaScript. Then use JQuery (a JavaScript library) and Ajax to improve the user experience.
Be aware that it is entirely possible that your RIA needs go beyond what one can do with Jquery. In these scenarios one might consider another solution (HTML5, SilverLight, Flash, etc.). Or you could tone down your RIA needs.