2013-07-22 132 views
3

我試圖創建一個新聞網站,從一些新聞網站@ Html.Raw在MVC 4

顯示其內容,開始在嘗試Web客戶端點點,一個簡單的Web窗體上工作正常

但當到達MVC我得到:

public ActionResult News() 
    { 
     var read = ""; 
     var msg = ""; 
     try 
     { 
      WebClient myC = new WebClient(); 
      read = myC.DownloadString("http://localhost:61123/Videos"); 

     } 
     catch (Exception ex) 
     { 
      msg = ex.Message.ToString(); 
     } 
     return View(); 
    } 

和News.cshtml觀點:這個名字「讀」並不在當前的背景下

下面的代碼存在

@ViewBag.Message.msg 
@Html.Raw(read) 

任何提示..即使我應該嘗試其他網站從其他網站獲取特定內容?

回答

5

read是本地作用域的控制器操作方法。該視圖不知道它。你必須明確地將它發送到視圖。你可以用ViewBag做到這一點。

try 
{ 
    WebClient myC = new WebClient(); 
    read = myC.DownloadString("http://localhost:61123/Videos"); 
    ViewBag.Read = read; 
} 

,然後在您的視圖

@Html.Raw(ViewBag.Read) 

你也可以創建一個模型類和強類型的視圖模型,甚至是你的模型類的實例列表

+0

釘它從第一次謝謝;) 順便說一句,如果你有我的觀點是WebClient的理想解決方案,該任務 以及如何確定哪些HTML標籤查看 即:不包括頁菜單,標誌..等等 – Rashwanov

+0

你如果要獲得一個RSS提要來做到這一點,那麼所有主要的新聞提供商都應該有這樣的好處。如果您絕對必須解析HTML,請嘗試使用HTML Agility Pack - http://htmlagilitypack.codeplex.com/ – Matt