2014-11-08 5 views
1

Вопрос:
Как заставить простую модель отображать в виде строго типизированного объекта с помощью контроллера?
Задача:
Я создаю простой класс в модели, newObject. Этот класс ссылается и передается в представление моим контроллером. Однако я не могу получить доступ к классу в представлении, используя оператор Razor @model.
:
Я начинаю изучать ASP.NET и C#. Я использую Visual Studio 2013 Express на машине Win7. Я начал с пустого проекта, с папками и базовыми ссылками для MVC.
Короче говоря, я пытаюсь понять, как это сделать. Я следил за некоторыми учебниками по www.asp.net, но я пытаюсь изучить голые кости, без рамки сущности и такого рода вещи.
Код:
Вот моя модель:рендеринг модели представления MVC ASP.NET

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

Попробуйте @Model.objName с заглавной буквы «М». Нижняя шкала model - это «тип», ожидаемый от контроллера. Model - это экземпляр пройденного типа.

+0

Это получилось, спасибо! Почему мой intellisense не поддерживает «Модель»? Он показывает «ModelBinders» и т. Д., Но нет опции для «Модели» –

+0

Попробуйте закрыть VS 2013, снова открыть проект и посмотреть, поможет ли это. У меня это случилось в 2013 году совсем недавно, и это помогло мне. – DDiVita

+0

Странно, вот что это было. Еще раз спасибо! –

Смежные вопросы