给定两个程序集:
项目
.web 项目.lib
project.web 程序集引用了包含一些业务逻辑的 project.lib。project.lib 中的一个简单类:
public class Person
{
public string Name;
}
在 project.web.Controllers 中:
Using project.lib.models;
public class PersonController : Controller
{
Person person = new Person();
public ActionResult Index()
{
return View(person);
}
}
这是我有一些问题的部分。在很多示例项目中,我在视图中看到了以下内容(在本例中为 Index.aspx):
<% @Import Namespace="project.lib.models" %>
允许您像这样使用模型对象:
<%= Model.Name %>
我还没有像示例那样工作,我必须这样做:
<%= (Model as Person).Name %>
或者
<%
var person = (Person)Model;
Response.Write(person.Name);
%>
为什么会这样?这种如此性的原因是什么?评论?建议?我的类定义如下所示:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace project.lib.models
{
public class Person
{
public Int64 PersonID;
public string DisplayName;
public string RealName;
}
}