jquery - 自动更新ASP.NET中的内容

标签 jquery asp.net asp.net-mvc asp.net-ajax

我必须设计一个网站,用户可以在其中更新其状态,就像facebook和twitter和其他社交网站一样。

现在,我的要求是使用新的用户更新来刷新供稿。例如:当新状态出现时,facebook自动将其添加到Feed的顶部。另一方面,twitter显示了准备加载的更新数量。


两种方式我都可以接受

现在,我必须决定什么是实现此功能的最佳方法。我愿意使用ASP.NET。所以我很困惑定期转发器控件与计时器和自动刷新或任何其他方式? (我想知道是否将中继器设置为自动更新,同时如果用户对任何状态执行某些操作,它将丢失)。

还是我需要将框架从ASP.NET更改为ASP.NET MVC(我对MVC并不害怕,因为我对MVC的了解很少,并且我知道它具有掌握Ajax / Jquery东西的学习曲线)

有什么建议可以使我以更好和可行的方式实现它吗?

EDIT1我不是在寻找代码,但我想要实现此目的的建议。支持网址将不胜感激。

EDIT2我对JQuery开放,它可以定期检查数据库并填写该部分。但是我担心的是,如果用户正在更新任何评论并想要加载/提要,则会自动生成。他的文本框文字不应该消失(就像Facebook,Twitter或Linkedin)

EDIT3我已经看到,当其他任何用户修改了问题/答案时,在堆栈溢出时,都会收到类似该问题/答案被修改的通知。当我单击该通知时,仅重新加载了该部分。我很好奇如何实现此功能。这样,当用户评论状态/帖子时,如果同时有人更新了内容,那么它将显示另一个用户评论。

Edit4有人可以向我推荐一个ASP.NET MVC 3+的示例,该示例可以执行类似的活动(即,一个输入框,一旦用户插入文本,它将在列表中添加该项(使用JQuery)。

最佳答案

基础:

带有RepeaterUpdatePanel控件以及Viewstate概念的ASP.NET Webforms试图抽象出HTTP协议的无状态本质和客户端开发(Javascript,HTML)的需求。

对于熟悉桌面应用程序开发但需要付出一定代价的开发人员来说,这听起来不错


网络有效负载增加(viewstate)
有限的选项可控制生成的HTML以及客户端与服务器之间的交互
边码。
混乱的HTML代码


另一方面,有一个ASP.NET MVC框架,它遵循更现代的方法来返回纯净的HTML和javascript。好处是


您完全控制生成的HTML代码
您可以按自己喜欢的方式在客户端和服务器端之间实现交互
使用jQuery等进行简单的客户端开发


缺点是:


您必须使自己熟悉许多技术(HTML,JavaScript,jQuery,MVC模式,MVC框架)
刚开始时,感觉比编写设计师上的某些控件要花更多的精力来编写HTML


在这里,您可以找到许多很好的教程,这些教程提供有关ASP.NET MVC的信息:http://www.asp.net/mvc

将数据推送到客户端:

您的问题主要关心的是如何在服务器上有新事物到达/发生时将数据推送到客户端。

您有两种选择:


定期使用一些计时器/ javascript / jQuery代码进行轮询(错误)
使用像SignalR这样的长轮询框架(很好)


使用推荐的第二个选项,浏览器在加载页面后打开与服务器的连接,并等待新数据到达。当服务器中有新数据时,它可以通过打开的连接将其发送给所有连接的客户端,客户端可以显示数据或诸如twitter / so之类的通知。

SignalR的好处是,所有连接内容都被抽象了,您可以定义一些可以从服务器调用的javascript函数。

以下是一些简短的教程,重点是与ASP.NET MVC结合使用SignalR:


www.hanselman.com
www.dotnetcurry.com
blog.devscrum.net
www.asp.net (Video tutorial)

关于jquery - 自动更新ASP.NET中的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13472098/

相关文章:

c# - ASP 身份 2.0 : Regenerate Identity

c# - 自定义错误是否应该设置为off以便能够简单地记录错误?

jquery - 如何使用 jQuery 附加一个元素,除非该元素已经存在?

c# - 如何将重定向 URL 注册到 webhook

javascript - 如何从字符串数组中过滤掉数字

c# - SMTP 服务器需要安全连接或客户端未通过身份验证。如果在 godaddy 上上传

sql-server - Azure 中的免费 SQL Server

asp.net-mvc - 使用 ASP.NET MVC 5 配置 Autofac

javascript - Yii 将 url 解析为 Controller /操作而不是执行底层脚本

jquery - 当输入接收焦点时,使用 jQuery 显示固定的 "ToolTip"