我想知道为什么不在ASP.Net MVC 4 Web项目中使用jQuery jQuery模板的KnockoutJS组合使用基于REST的ASP.Net MVC 4 WEB API(在Azure上安装的ASP.Net MVC 4 WEB API和使用ACS进行安全保护). Web API可以使用Entity Framework并返回可以使用$.ajax()并使用KnockoutJS绑定的
JSON序列化对象.
ASP.Net MVC(为网页)提供哪些增加了这个架构的价值?
在我头上,我可以想到:
>多设备支持(设备检测和模板更换)
>提交的数据的服务器端验证(不确定我也可以在WEB API上进行验证)?
>我仍然可以重写我的URL,即使我使用静态html文件(因为我正在使用ASP.Net MVC).
有人可以帮助我更好的理解吗提前致谢.
解决方法
很好的问题我确实发现我的MVC / Razor代码随着我的Knockout项目的进步而变得越来越少,但是我想我总是有一些方面的意见,我想在服务器端确定.
基本的上下文的东西,如是否在布局页面中呈现登录/注销的面板,与什么应该可访问的角色相关的决定等.我想如果您对您的安全性足够小心,并在服务器上实现足够的保护代码有人实际上尝试做一些事情,然后你可以在Knockout中实现大部分的功能,但是您可能会遇到巨大的膨胀,为每一个可能的部分提供服务.
这可能取决于您的应用程序,但我认为对于大多数网络应用程序,在服务器渲染时间应该确定的内容和客户端应该做什么之间有一个相当常识的区别.
如果没有别的,你可能希望你的视图中的链接等被搜索引擎索引.如果你传下来,说,你的“最新的10个产品”在JSON中,并用Knockout模板中的超链接渲染它们,那么你就会失败.