2012-04-10 165 views
0

我正在开发一个项目,该项目应该将雅虎天气API与ASP.Net MVC连接起来3 在创建变量后,它给了我一个名为“类型或名称空间名称”的错误WeatherForecast '找不到(您是否缺少使用指令或程序集引用?)C:\ Users \ kumi.SH \ Documents \ Learn \ ASP.Net_MVC3 \ WeatherApp \ WeatherApp \ Controllers \ HomeController.cs“名称空间找不到

I在我的HomeController.cs文件中有以下代码:

public ActionResult GetWeather(string Id) 
{ 
    StringBuilder sb = new StringBuilder(); 
    WeatherForecast wf = new WeatherForecast(); 
    WeatherForecasts wfs = wf.GetWeatherByPlaceName(Id); 
    WeatherData[] wd = wfs.Details; 
    sb.AppendFormat("<B>Weather Forecast for {0}</B><br /><br />", wfs.PlaceName); 
    foreach (WeatherData d in wd) 
    { 

     if (!string.IsNullOrEmpty(d.WeatherImage)) 
     { 
      sb.AppendFormat("<img src=\"{0}\" >", d.WeatherImage); 
      sb.AppendFormat(" {0}", d.Day); 
      sb.AppendFormat(", High {0}F", d.MaxTemperatureF); 
      sb.AppendFormat(", Low {0}F<br />", d.MinTemperatureF); 
     } 
    } 
    Response.Write(sb.ToString()); 
    return null; 
} 

您可以指定需要使用的名称空间吗?

Thankx in advance ......

+0

也许你可以在这里找到更多的信息,HTTP: //developer.yahoo.com/dotnet/#howto – 2012-04-10 13:18:32

+0

有没有从一个elses示例代码?你错过了一个使用语句来告诉代码“WeatherForecast”在哪里,或者你的missnig是它的类文件/程序集。 – 2012-04-10 13:18:57

+0

看起来这个代码是从这个codeproject文章:http://www.codeproject.com/Articles/41828/JQuery-AJAX-with-ASP-NET-MVC – Robbie 2012-04-10 15:06:28

回答

0

它看起来像您的应用程序使用以下Web服务?

http://www.webservicex.net/weatherforecast.asmx

如果是这样,你需要的是你要使用它在同一个项目中的服务引用添加到该服务。即您的示例中代码所在的同一个项目。从您的示例中的路径来看,该项目称为“WeatherApp”。

您可以通过右键单击解决方案资源管理器中的项目节点并选择“添加服务引用”来执行此操作。随后出现的服务网址(上图)粘贴到地址栏,然后按下对话框中的“开始” - 给它一个名称,然后点击“确定”

Add Service Reference Image

+0

你的想法很有用,但它没有为错误做任何事情。谢谢,如果您有任何想法,请在添加webservice引用后发送给我 – Leo 2012-04-10 14:30:38

+0

@Kumu,确保在类声明的上方有一个using语句指向web服务。例如,如果服务引用的名称空间是“WeatherService”,则需要这样的使用语句:'using WeatherService;'或者,您可以完全限定方法调用,就像这样'new WeatherService.WeatherForecast();' – Robbie 2012-04-10 14:36:47

+0

甚至无法添加像上面提到的 – Leo 2012-04-11 08:39:29

相关问题