Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在ASP.NETWeb表单中,有没有比UpdatePanel更好的方法通过ajax更新内容? 我认为自己对Web UI开发非常了解,在过去的四年中,我学到了很多关于ASP.NETWeb窗体的知识,但是我还没有找到一种通过Ajax更新页面的好方法。我已经用几种不同的方法完成了这项工作,基本上涉及到由某种.aspx页面或处理程序加载的用户控件。这工作得很好,但不是很一般,通常会遇到ViewState问题,甚至是中等复杂的问题_Asp.net_Ajax_Updatepanel_Webforms - Fatal编程技术网

在ASP.NETWeb表单中,有没有比UpdatePanel更好的方法通过ajax更新内容? 我认为自己对Web UI开发非常了解,在过去的四年中,我学到了很多关于ASP.NETWeb窗体的知识,但是我还没有找到一种通过Ajax更新页面的好方法。我已经用几种不同的方法完成了这项工作,基本上涉及到由某种.aspx页面或处理程序加载的用户控件。这工作得很好,但不是很一般,通常会遇到ViewState问题,甚至是中等复杂的问题

在ASP.NETWeb表单中,有没有比UpdatePanel更好的方法通过ajax更新内容? 我认为自己对Web UI开发非常了解,在过去的四年中,我学到了很多关于ASP.NETWeb窗体的知识,但是我还没有找到一种通过Ajax更新页面的好方法。我已经用几种不同的方法完成了这项工作,基本上涉及到由某种.aspx页面或处理程序加载的用户控件。这工作得很好,但不是很一般,通常会遇到ViewState问题,甚至是中等复杂的问题,asp.net,ajax,updatepanel,webforms,Asp.net,Ajax,Updatepanel,Webforms,我本可以早点跳到UpdatePanel,但微软的JavaScript代码完全是垃圾。有没有人有什么好的策略可以在不使用UpdatePanel的情况下加载/更新/刷新web表单的各个部分?或者,有没有人对使用UpdatePanels来绕过一些前端代码的蹩脚之处有什么建议 更新(澄清) 下面是一个例子,说明我试图做些什么来更加清楚。在我们的主页靠近页面底部的地方,我们有一些不同内容的标签。每个选项卡的内容主体都有针对不同用户类型的不同内容。在成千上万的网页访问者中,我们每天可以点击任意一个标签。尽管

我本可以早点跳到UpdatePanel,但微软的JavaScript代码完全是垃圾。有没有人有什么好的策略可以在不使用UpdatePanel的情况下加载/更新/刷新web表单的各个部分?或者,有没有人对使用UpdatePanels来绕过一些前端代码的蹩脚之处有什么建议

更新(澄清)

下面是一个例子,说明我试图做些什么来更加清楚。在我们的主页靠近页面底部的地方,我们有一些不同内容的标签。每个选项卡的内容主体都有针对不同用户类型的不同内容。在成千上万的网页访问者中,我们每天可以点击任意一个标签。尽管有这些数据,我们的经理仍然希望有标签。因为每个选项卡主体中都有很多HTML内容,所以我希望在单击选项卡时加载选项卡的内容。解决方案显然是使用ajax;但是,单击选项卡时,您将HTML/控件放置在何处以加载HTML。我可以将每个选项卡的内容放在它自己的apsx页面中(例如/home/tabs1.aspx),但是如果我们愿意的话,我们最初无法轻松地将内容嵌入页面中。我可以将内容放在它自己的用户控件中,并创建一个HttpHandler或加载它的页面,但这会导致在更复杂的页面上查看状态问题。我可以在函数中硬编码HTML,然后将其设置为文本,或者在ajax请求调用它时在处理程序中返回HTML。每个解决方案都有效。有些人比其他人更理想(第三个是可怕的关注点分离,尽管我以前见过)。UpdatePanel提供了最佳的解决方案,因为它们允许您将内容放在标记的正确部分,而不需要单独的文件。UpdatePanel的问题是它们要求您使用Microsoft的javascript库。有没有像UpdatePanel那样不使用UpdatePanel的解决方案

我正在尝试解决几个其他用例:

  • 页面上的框,加载时有内容,但每30秒更新一次
  • 只有当用户将鼠标悬停在某个区域上时,我才想加载大桅顶导航菜单
  • 当用户单击链接时,您的表单将显示在灯箱中。(这可能会导致viewstate问题)

    • JQuery似乎是最流行的方式。。。
      JQuery似乎是最流行的方式。。。

      有一些特殊的场景,在这些场景中,您可以使用比UpdatePanel更少的请求/响应负载来完成异步页面更新

      例如,提供了几个可以通过非UpdatePanel异步回调进行更新的组件。例如,CascadingDropDown控件扩展程序有助于根据另一个下拉列表中的值过滤一个下拉列表。轻量级扩展程序提供了好处,而不是将整个表单包装在UpdatePanel中


      不过,很难提出一种全面的方法,因为每个AJAX场景可能涉及不同的控件、扩展器或JavaScript库(如JQuery)。

      有一些特殊的场景,在这些场景中,您可以使用比UpdatePanel更少的请求/响应负载来完成异步页面更新

      例如,提供了几个可以通过非UpdatePanel异步回调进行更新的组件。例如,CascadingDropDown控件扩展程序有助于根据另一个下拉列表中的值过滤一个下拉列表。轻量级扩展程序提供了好处,而不是将整个表单包装在UpdatePanel中


      但是,很难提出一种全面的方法,因为每个AJAX场景可能涉及不同的控件、扩展程序或JavaScript库(如JQuery)。

      我想Jeff Prosise先生的这篇文章将对您和所有AJAX新手有所帮助(我做得很好):


      我想Jeff Prosise先生的这篇文章将对您和所有刚接触AJAX的人有所帮助(这对我很有帮助):


      放弃web表单,切换到MVC:)您不会后悔的。 有一个学习曲线位,但如果你与经典asp的家庭,它不是那么糟糕


      mvc与强大的javascript库相结合,可以实现非常强大(且简单)的动态web应用。

      放弃web表单,切换到mvc:)您不会后悔的。 有一个学习曲线位,但如果你与经典asp的家庭,它不是那么糟糕


      mvc与强大的javascript库相结合,可以实现非常强大(且简单)的动态web应用。

      jQuery只是一个库,它为不同的浏览器提供了一个包装器XHR对象。这无助于您如何实际构建和加载要更新的页面内容。这个场景对于其他web框架(例如Rails)来说相当容易,但是因为web表单使用控件和viewstate,所以很难创建一个通用方法来延迟加载内容或刷新内容,而不会导致问题。啊,我误解了这个问题(我想读得太快了)。我仍然生活在一个WebForms的世界里,但从我所读到的内容来看,你提到的问题似乎是为什么很多人都转向ASP.NET MVC。@howardr:如果你只对使用
      网络控件的解决方案(以及提供可以在回发后保存的数据的解决方案)感兴趣,你应该修改你的问题,使之清楚。A.