手动实现UpdatePanel

时间:2009-02-01 10:48:09

标签: c# asp.net javascript ajax updatepanel

我正在阅读一篇文章,其中显示了how bad CodePlex uses UpdatePanels以及StackOverflow在此问题上的好处,例如,当用户提出答案/问题时。

我想知道是否有人可以指出如何进行此类操作的教程。

我知道一些观点:

  1. 创建一个获取操作值并输出JSON字符串的Web服务
  2. <ajax:ScripManager>控件中构建javascript以使用新值替换页面上的正确值
  3. 但是,即使在第一次遇到困难时,我也可以发送一个JSON字符串,但它总是被XML信息包围!

    任何人(或者杰夫)都可以从头开始指出一个不错的“操作方法”吗?谢谢。

2 个答案:

答案 0 :(得分:3)

好吧,我怀疑StackOverflow使用UpdatePanel - 更有可能使用jQuery / load来简单地更新div,使用ASP.NET MVC作为源代码(而不是ASP.NET vanilla,页面周期更复杂。)

使用这种方法,它是微不足道的... jQuery示例选项卡主要说明了一切。

从ASP.NET MVC中的控制器返回Json - 这只是return Json(obj); - 但我个人会返回html(更简单)。

答案 1 :(得分:2)

在您关闭UpdatePanel之前,我建议您阅读我发布的这篇文章 - http://www.aaron-powell.com/blog/august-2008/optimising-updatepanels.aspx。它着眼于如何优化UpdatePanel,如果做得好,它可以带来一些性能提升。

我还做了一个帖子 - http://www.aaron-powell.com/blog/august-2008/paging-data-client-side.aspx,它着眼于使用jQuery和MS AJAX进行客户端模板化。我看看如何使用JavaScript阅读Web服务,如果您下载示例,您将看到如何将数据客户端发送到Web服务。

但是,在ASP.NET网站上播放的这个视频也可能有用 - http://www.asp.net/learn/ajax-videos/video-82.aspx。它是关于如何为脚本服务功能扩展Web服务。