0

我仍在使用网络表单。目前我不打算使用 MVS,尽管我需要/我想将 Ajax 与 jQuery 一起使用,但要做到这一点,我需要创建一个[WebMethod]充当静态的静态,不能使用会话或常见的东西,例如使用存储在会话中的用户数据从数据库中获取东西,至少是简单的方法session[]=

[WebMethod]
    public static void setAsRead(string rowid){}

(在前面的代码中,我需要将需要其数据的表格行的rowid作为隐藏字段存储在页面中)

所以我想知道放置很多页面方法是否是“正常的”或者我们必须避免这种方法。我个人认为看到这个很难看,因为页面性质,它是一个网络表单,一个页面,而不是一个网络服务堆栈。

所以你怎么看?有安全问题吗?我是否必须避免使用 webforms 的 ajax 并考虑迁移到 MVC?

4

2 回答 2

1

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

因此,您可以使用 PageMethods,直到您决定升级到可以公开 REST API 的 ASP.NET MVC、ASP.NET Web API 或 ServiceStack。

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

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

于 2013-01-14T13:02:48.550 回答
1

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

于 2013-01-14T13:06:54.333 回答