PageMethods介绍

PageMethods介绍
原文地址:http://metasapiens.com/PageMethods/intro.aspx

在简单的 HTML 页面和 ASP.NET 页面中链接一个网页都非常容易。实际链接页面时, 传递正确的叁数, 并且转换这些叁数, 却是有一点不同的。

问题

让我们做一个简单的例子。你想要访问一个显示客户信息的页面。页面需要一个customer ID的参数。我们说这个customer ID是一个整形。

访问这个页面的url像这里这样:http://myserver/Customer.aspx?CustID=12

如果你不是开发这个页面的开发者,你如何知道叁数的名字? 你如何知道叁数的类型?

你不得不去看一下你想调用的页面的代码 (随便问一下,你是不是一直有代码?不一定吧), 或者你看下关于这个页面的文档 (你有这个文档吗?这个文档是最新的吗?当开发者把CustID 重命名为CustomerID时,他是否更新了文档?)。

这是一些链接或转向到一个页面的限制。但是让我给你说一些其它的不足:

·         你有一个这样名字的页面 (在编译时没有检查, 因此如果你犯了错误,只有当某人试着访问这个页的时候,你才会知道。这意谓着你不确信你交付的100%保险正确。当你意识到你已经犯了错误时,已经晚了,并且你不得不在修改了问题之后重新部署应用程序)

·         你从来都不确切的知道每一个页面期待的参数或参数集合

·         你必须知道每一个参数确切的名字

·         你传递以字符串联形式的参数 (代码不易读,并且不友好)

·         你必须自己解析和转换参数 (在 ASP.NET 中,被传递的叁数可以用Request.QueryString获得, 只能得到字符)

·         页面必须验证它所接收的参数(参数不能为空,类型正确,值合理)

解决方案

PageMethods 帮你解决URLs的问题. 它建议一个解决方案为每一个页面定义结构的URLs, 并且简单清晰的访问它们.

这个想法基于 严格的页面输入 和 公布参数绑定. 利用 PageMethods, 每一个页面暴露方法设置描述不同的方法去访问页面.
从你添加方法到你的页面,你就开始受益于sharp URLs 所带来的好处。给你的方法添加 PageMethods标签:

用户页代码示例:

解决方案比较

一点代码却说明了很多,让我们来比较一下 PageMethods 的解决方案和一般的解决方案.

这里有一个页面有两个期望的参数,一般的解决方案代码示例:

下面是同样的页面 PageMethods解决方案的代码示例:

一般的给页面转递参数的方法:

PageMethods传递参数的方法

已经说了很多了…….

参考阅读 指南 你可以快速深入的了解 PageMethods 是怎么被使用的
你可以决定是否继续学习更多它的 特色和好处.

原文地址:https://www.cnblogs.com/zwei1121/p/757026.html