asp.net-mvc – Razor模板,views和angular.js

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – Razor模板,views和angular.js前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
TL; DR

使用.NET Razor视图和AngularJS时的最佳做法是什么?

上下文

我们正在开发一个使用mvc4和剃刀的公共网站(而不是Intranet应用程序),我们对客户端脚本不太熟悉,所以我们从我们所知道的开始:jQuery.
但是现在,事情变得越来越复杂,我们想转而使用AngularJS.

在.NET部分,我们使用Razor模板和UIHintAttribute(加上一些自定义的)来呈现正确的HTML“控件”.我们还添加自定义html属性,以向jQuery部分提供额外的信息(如工具提示标题….)

所以我们已经用声明式的方式来设置用户界面的行为,这就是为什么AngularJS似乎是一个很好的选择.

问题

既然我们已经有了定义服务器端的模型,并且由于AngularJS还使用模型,它不会强制我们重复代码吗?

我们如何处理数据绑定功能,因为我们已经做了一些绑定服务器端(在视图中).我们应该做一个完全异步的应用程序,从AngularJS调用AJAX来加载数据,还是可以混合使用?

在尝试使用这两种技术时,我们还应该注意什么?

我对Google做了一些研究,但是我找不到与Rangor观点和模板混合使用AngularJS的详细方式呢?也许这不是一件好事吗?

解决方法

在使用MVC加另一个JavaScript框架(Knockout)时,我们处理了这个问题几个月.最终,如果您要使用客户端MV *框架来呈现用户界面,那么您会发现,大多数切割Razor将是您最好的选择.

大部分主要的MV * JavaScript框架,包括AngularJS,假定您将保持UI状态,并根据JavaScript模型或视图模型呈现用户界面.尝试混合在服务器端渲染中的功能并不会很好.

这并不是说MVC在开发Angular应用程序时没有用.您仍然可以利用一些很棒的功能,如ASP.NET Bundling and Minification.有时使用Razor视图或部分方式将JSON直接嵌入到页面中,而不是进行额外的AJAX调用.

对于模型,您可能需要查看Breeze.js.它是一个用于数据访问的JavaScript库,在服务器端的ASP.NET可以共享模型元数据.

猜你在找的asp.Net相关文章