2014-11-08 7 views
1

질문 : 간단한 모델을 컨트롤러를 사용하여 강력한 형식의 개체로 뷰에 끌어 오려면 어떻게해야합니까?
문제 :
모델에 간단한 클래스를 만듭니다 (newObject). 해당 클래스는 참조되어 내 컨트롤러에서 뷰로 전달됩니다. 그러나 Razor @model 문을 사용하여보기의 클래스에 액세스 할 수 없습니다.
세부 사항 :
저는 ASP.NET과 C#을 배우는 초보자입니다. Win7 시스템에서 Visual Studio 2013 Express를 사용하고 있습니다. MVC에 대한 폴더 및 코어 참조가있는 빈 프로젝트부터 시작했습니다. 간단히 말해서, 나는 배우는 것에 대한 도움을 얻으려고 노력하고 있습니다. 나는 www.asp.net에 대한 튜토리얼을 따라 왔지만, 엔티티 프레임 워크가없는 맨손의 뼈를 배우려고하고있다.
코드 :ASP.NET MVC 뷰 모델 렌더링

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 

namespace WebApplication1.Models 
{ 
    public class MyObject 
    { 
     public string objName = "Object1", objType = "Type1"; 
    } 
} 

컨트롤러 :

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.Mvc; 
using WebApplication1.Models; 

namespace WebApplication1.Controllers 
{ 
    public class HomeController : Controller 
    { 
     public ActionResult Index() 
     { 
      MyObject newObject = new MyObject(); 
      return View(newObject); 
     } 
    } 
} 

및보기
가 여기 내 모델입니다. 나는 어떤 이유로보기에 newObject에 액세스 할 수 없습니다 :

@model WebApplication1.Models.MyObject 

<!DOCTYPE html> 

<html> 
<head> 
    <meta name="viewport" content="width=device-width" /> 
    <title></title> 
</head> 
<body> 
    <div> 
    This is a test page.<br /> 
    <!--Error on the next line--> 
    @model.objName 
    </div> 
</body> 
</html> 
+0

무엇이 오류입니까? – dotnetstep

답변

3

대문자 'M'과 @Model.objName을보십시오. 소문자 model은 컨트롤러에서 예상되는 "유형"입니다. Model은 전달 된 "유형"의 인스턴스입니다.

+0

그게 다있어, 고마워! 내 인텔리 센스가 "모델"을 지원하지 않는 이유는 무엇입니까? "ModelBinders"등이 표시되지만 "Model"에 대한 옵션이 없습니다 –

+0

VS 2013을 닫고 프로젝트를 다시 열어 도움이되는지 확인하십시오. 저는 최근에 그런 일이 발생하여 2013 년에 나에게 도움이되었습니다. – DDiVita

+0

이상한, 그게 그랬어. 다시 한 번 감사드립니다! –