Javascript 将模型绑定到最初由服务器填充的HTML表

Javascript 将模型绑定到最初由服务器填充的HTML表,javascript,asp.net-mvc-4,angularjs,knockout.js,signalr,Javascript,Asp.net Mvc 4,Angularjs,Knockout.js,Signalr,我想将一个HTML表绑定到一个模型,这样当从服务器接收到http推送通知时,表就会自动更新 但是,我需要服务器生成初始页面,JavaScript MVC/MVVM框架将从呈现的表+任何需要的注释生成它的初始模型。从这一点开始,UI和模型是同步的,来自服务器的任何后续通知都会更改模型并自然地流到表中 我尝试过许多JavaScript MVC/MVVM框架,例如AngularJS和Knockout.js,但它们似乎采用了一种方法,服务器将提供一个HTML表模板,框架将通过JavaScript在客户端

我想将一个HTML表绑定到一个模型,这样当从服务器接收到http推送通知时,表就会自动更新

但是,我需要服务器生成初始页面,JavaScript MVC/MVVM框架将从呈现的表+任何需要的注释生成它的初始模型。从这一点开始,UI和模型是同步的,来自服务器的任何后续通知都会更改模型并自然地流到表中

我尝试过许多JavaScript MVC/MVVM框架,例如AngularJS和Knockout.js,但它们似乎采用了一种方法,服务器将提供一个HTML表模板,框架将通过JavaScript在客户端填充表

编辑:


  • 网站应该使用不支持JavaScript的爬虫
  • “普通”用户和爬虫的页面内容和URL应该相同

一般来说,knockout不喜欢在服务器端生成完整HTML的想法。但这并不意味着这是不可能的。我目前正在处理同一个问题。您可以使用我博客上提供的petemplate绑定。它是一种特殊的模板绑定,不会通过服务器端重新生成生成的HTML(knockout在服务器端HTML中的主要问题)。您仍然必须为knockout定义一个模板,还必须通过一个隐藏的输入以JSON格式发送数据。但优点是,你有淘汰+搜索引擎优化友好的设计。这意味着在第一个请求中,服务器发送一个完整的HTML加上一个隐藏的输入,在客户端,敲除将在不重新生成HTML的情况下被激活。服务器的下一步操作可以通过使用JSON和AJAX进行敲除来处理。就我个人而言,我不认为在HTML旁边以隐藏字段的形式发送数据会是一种大胆的开销。使用peTemplate与knockoutjs的原始模板绑定非常相似,除了少数数据注释属性。你可以在链接中找到更多信息

这个问题不清楚。你能发布一些代码来解释你想做什么吗?在AngularJS中,这听起来很简单,它对您的后端没有任何假设。AngularJS假设您的后端将提供由客户端填充的HTML模板,但这不利于SEO。与所有单一页面、javascript重类型的应用程序一样,它不利于SEO。你可以使用类似这样的搜索引擎优化。对于您想要做的事情,如果您具有服务器端模板功能,那么您最好使用它。否则,如果您喜欢angular的简单易用性,那么请使用seo工具帮助进行seo。网站应该使用不支持JavaScriptPage内容的爬虫,并且“普通”用户的URL和爬虫应该是相同的。这正是我所寻找的。很高兴知道我不是唯一一个有这个问题的人。