显示物理地址的地址簿






1.74/5 (8投票s)
2004年10月3日
2分钟阅读

50960
本文档展示了如何在您的应用程序中使用MapQuest QueryString。
引言
您是否创建过通讯录?它包含什么?地址、姓名、电子邮件,也许您还可以使用您的通讯录发送电子邮件,对吧?如果您的表格中有一个人员列表,其中包含他们的地址,并且当您点击某个人的信息时,您可以查看他的物理地址,那将会是多么酷的事情。在本文中,我将向您展示如何轻松地将参数附加到发送到MapQuest的请求中。您可以使用任何类型的地址查找网站,我将在我的示例中使用MapQuest。
创建数据库
让我们首先创建一个简单的数据库,其中包含人员ID、姓名和邮政编码。您可以使用一个人的完整地址,但我注意到大多数时候,像MapQuest这样的服务无法找到实际地址。我将使用邮政编码来查找地址。在数据库中输入一些数据,我们就可以开始了!
在页面上显示数据
让我们使用DataGrid
在页面上显示数据。您在下面看到的所有地址和邮政编码都已添加到您的通讯录中。假设您的邮政编码是77304。因此,我们将找到从您的邮政编码到您通讯录中邮政编码的路线。以下是您在页面上显示DataGrid
时它的外观。
重定向到MapQuest
我对此进行了思考,但没有找到更好的重定向到路线页面方法。您可以执行此操作的几种方法,例如在新弹出窗口或框架中打开路线页面。我选择了一个新页面(不是弹出窗口),因为某些浏览器具有弹出窗口阻止程序,因此在这些浏览器上,弹出窗口将不会打开,或者换句话说,弹出窗口将被阻止。框架也存在一些问题,因为某些浏览器不支持框架。考虑到这些原因,我选择将同一页面重定向到路线页面。
实现DataGrid选择列代码
现在是编写代码的时候了,在DataGrid
的SelectedIndexChanged
事件中,编写以下代码
private void ChangeSelection(object sender, System.EventArgs e)
{
// gets the selected ZipCode from the DataGrid selected row
string otherZipCode = myDataGrid.SelectedItem.Cells[2].Text;
// This is the URL in which we are going to embed our parameters.
string url = "http://www.mapquest.com/directions/main.adp?" +
"go=1&do=nw&un=m&2tabval=address&cl=EN" +
"&ct=NA&1tabval=address&1y=US&" +
"1a=&1c=&1s=&1z="+myZipCode+
"&1ah=&2y=US&2a=&2c=&2s=&2z="+
otherZipCode + "&2ah=&idx=0&" +
"id=4160c6ba-001df-01660-cdbcf364&" +
"aid=4160c6ba-001e0-01660-cdbcf364";
// Redirec to the other page
Response.Redirect(url);
}
是的,您需要做的就这些了。我只是将包含myZipCode
和otherZipCode
值的变量嵌入到URL中,很简单,对吧!