问题:
如何使用控制器将简单模型作为强类型对象拉入视图?
的问题:
我在模型中创建了一个简单的类newObject
。该类被引用并由我的控制器传递给视图。但是,我无法使用Razor @model
语句访问视图中的类
的详情:
我是初学者,学习ASP.NET和C#。我在Win7机器上使用Visual Studio 2013 Express。我从一个空项目开始,包含文件夹和MVC的核心参考
简而言之,我试图通过实践来学习。
我已经关注了www.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 :(得分:4)
尝试使用大写“M”的@Model.objName
。小写model
是控制器所期望的“类型”。 Model
是传递的“类型”的实例。