2013-07-22 2 views
3

내가 여러 뉴스 웹 사이트@ Html.Raw MVC 4

에서 그 내용을 표시 뉴스 웹 사이트 시작으로 Webclient에 조금 노력하고 간단한 웹 폼에 제대로 작동을 만들려고했다

하지만, 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보기 : 이름은

CODE 아래 현재 컨텍스트에 존재하지 않는 '읽기'

@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

를 맞았다 강하게 모델에보기를 입력하거나 모델 클래스의 인스턴스의 경우에도 목록 처음부터 감사합니다;) BTW 만약 WebClient가 해당 작업에 대한 이상적인 솔루션 인 경우 및 볼 HTML 태그를 결정하는 방법 예 : 페이지 메뉴, 로고 등을 포함하지 않도록합니다. – Rashwanov

+0

You 모든 주요 뉴스 제공 업체가해야하는 RSS 피드를 얻는 것이 훨씬 낫습니다. 절대적으로 HTML을 구문 분석해야하는 경우 HTML 애자 팩을 사용해보십시오. http://htmlagilitypack.codeplex.com/ – Matt