2012-04-19 9 views
0

ASP.Net MVC 3を使用してyahoo weather APIアプリケーションを作成しました。正しいxmlを見つけるためにテキストフィールドに郵便番号を挿入しようとしたときに、標準のイギリスの郵便番号。あなたは私にそれを手伝ってもらえますか?次のコードのmodel.PostCodeは、モデルでstringとして宣言されたPostCode変数を表します。このコードはコントローラファイルにあります。URL内のスペース

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; 
    } 

もし私が次のようなURLを取得するのを手伝ってください。 http://where.yahooapis.com/v1/places.q('mk10%202hn')?appid=EzZDnOXV34EzJpQ8mX8mc62cYk1Gu21DzUhsLr.4nQ2qz.xffZah.RNq8lObxA--

ありがとうございます。

答えて

2

使用UrlEncode

string WoeidUrl = "http://where.yahooapis.com/v1/places.q('" 
    + UrlEncode(postCode) 
    + "')?appid=EzZDnOXV34EzJpQ8mX8mc62cYk1Gu21DzUhsLr.4nQ2qz.xffZah.RNq8lObxA--"; 
+0

はURLENCODEを使用できますか?あなたはそれについて私に説明していただけますか? – Leo

+0

例を挙げて、MSDNドキュメントへのリンクを投稿しましたか?正確に何を理解していないのですか? – Jason

+0

私はこれを使用して、それが働いてくれてありがとう。 – Leo

1

すべてのブラウザが20%とスペースを交換しているためにやっている、あなただけの置き換え使用して、これを複製することができ、試してみてください。

string postCode = model.PostCode.Replace(" ", "%20"); 

をそのようにように上記のコードでそれを使用します。

string WoeidUrl = "http://where.yahooapis.com/v1/places.q('" 
    + postCode 
    + "')?appid=EzZDnOXV34EzJpQ8mX8mc62cYk1Gu21DzUhsLr.4nQ2qz.xffZah.RNq8lObxA--"; 
関連する問題