Jquery 用PageMethods填充Asp.net页面以使用Ajax是一个好主意吗?

Jquery 用PageMethods填充Asp.net页面以使用Ajax是一个好主意吗?,jquery,asp.net,ajax,asp.net-mvc,Jquery,Asp.net,Ajax,Asp.net Mvc,我仍然在使用webforms。目前我不打算使用MVS,尽管如此,我需要/我想将Ajax与jQuery结合使用,但要做到这一点,我需要创建一个静态的[WebMethod],作为静态的,既不能使用会话,也不能使用普通的东西,比如使用会话中存储的用户数据从DB获取东西,至少是一种简单的方式会话[]= [WebMethod] public static void setAsRead(string rowid){} (在前面的代码中,我需要将需要其数据的表行的rowid作为隐藏字段存储在页面中)

我仍然在使用webforms。目前我不打算使用MVS,尽管如此,我需要/我想将Ajax与jQuery结合使用,但要做到这一点,我需要创建一个静态的
[WebMethod]
,作为静态的,既不能使用会话,也不能使用普通的东西,比如使用会话中存储的用户数据从DB获取东西,至少是一种简单的方式
会话[]=

[WebMethod]
    public static void setAsRead(string rowid){}
(在前面的代码中,我需要将需要其数据的表行的rowid作为隐藏字段存储在页面中)

因此,我想知道放置大量的页面方法是“正常的”,还是我们必须避免这种方法。我个人认为看到这一点很难看,因为页面本质上是一个Web表单,一个页面,而不是一个Web服务堆栈


那你觉得呢?是否存在安全问题?我是否必须在webforms中避免使用ajax,并考虑迁移到MVC?

从安全性或性能方面来说,经典webforms中的PageMethods没有什么错。它们比UpdatePanel好得多,因为您可以完全控制客户端和服务器之间交换的数据。与原始IHttpHandler相比,使用PageMethods的好处是框架将为您处理JSON序列化和管道代码

因此,在决定升级到ASP.NET MVC、ASP.NET Web API或ServiceStack之前,您可以使用PageMethods来公开REST API

我是否必须在webforms中避免使用ajax并考虑迁移到MVC


不,在WebForms中使用AJAX绝对没有错。在ASP.NETMVC出现之前,人们就已经开始使用它了。但是,如果你正在启动一个新项目,你可能会考虑是否迁移到ASP.NET MVC是不值得的。这将在很大程度上取决于您的项目的具体要求,现有的代码库。。。在开始迁移过程之前,请确保对所有可能性都进行了很好的评估。

您不需要将Asp.net MVC迁移到实现ajax。您在Web表单中仍然有选项。大多数技术都不是Mvc专用的。您可以在后端使用许多技术

  • :这是我最基本的选择,也是我大部分时间的个人选择。您可以通过实现IRequiresessionState来使用会话

  • 这是一个新的闪亮的东西。很多神。支持自托管等

  • 如果允许您使用第三方库。这张绝对值得一看。记录良好、受支持的开源项目