我使用ASP.Net MVC 3创建了雅虎天气API应用程序,当我尝试将邮政编码插入文本字段以找到正确的xml时,我想留下标准英国邮政编码的差距。你能帮帮我吗?以下代码的model.PostCode
表示在模型中声明为字符串的PostCode变量。此代码位于控制器文件中。
private Boolean LookupWeather(ref RssModels model)
{
string WoeidUrl = "http://where.yahooapis.com/v1/places.q('" +
model.PostCode +
"')?appid=EzZDnOXV34EzJpQ8mX8mc62cYk1Gu21DzUhsLr.4nQ2qz.xffZah.RNq8lObxA--";
XDocument getWoeid = XDocument.Load(WoeidUrl);
try
{
model.Woied = (int)(from place in getWoeid.Descendants("place")
select place.Element("woeid")).FirstOrDefault();
return true;
}
catch
{
return false;
}
如果可以请帮助我获取如下网址。
http://where.yahooapis.com/v1/places.q('mk10%202hn')?appid=EzZDnOXV34EzJpQ8mX8mc62cYk1Gu21DzUhsLr.4nQ2qz.xffZah.RNq8lObxA--
提前谢谢。
答案 0 :(得分:2)
string WoeidUrl = "http://where.yahooapis.com/v1/places.q('"
+ UrlEncode(postCode)
+ "')?appid=EzZDnOXV34EzJpQ8mX8mc62cYk1Gu21DzUhsLr.4nQ2qz.xffZah.RNq8lObxA--";
答案 1 :(得分:1)
所有浏览器都在用%20替换空间,你只需使用Replace就可以复制它,试试:
string postCode = model.PostCode.Replace(" ", "%20");
然后在上面的代码中使用它,如下所示:
string WoeidUrl = "http://where.yahooapis.com/v1/places.q('"
+ postCode
+ "')?appid=EzZDnOXV34EzJpQ8mX8mc62cYk1Gu21DzUhsLr.4nQ2qz.xffZah.RNq8lObxA--";