【发布时间】:2012-03-27 20:43:50
【问题描述】:
我整天都在寻找解决问题的方法,但没有找到任何可以接受的...
我的项目是使用 MVC 模式构建的,我不确定是否可以让模型直接访问视图。据我所知,它的目的是从视图中“隐藏”模型并将控制器用作“代理”。
我举一个例子让你更好地理解我的问题。
型号:
internal class ExampleModel
{
public Size GridSize {get; set;}
//a lot more properties
//...
//business logic
}
控制器:
internal class ExampleController
{
private ExampleModel m_Model;
//Logic "proxy" with some extensions
//A lot of functions
//--------------------
//Mapping the model's properties
public Size GridSize
{
get
{
return m_Model.GridSize;
}
set
{
m_Model.GridSize = value;
}
}
//A lot more properties, mapping the ones from the model
}
所以我的问题是:如何将模型的属性自动映射到控制器?因为“同步”模型和控制器之间的属性......很糟糕? :P 或者我可以只公开 m_Model 吗?我真的不知道该怎么办..
提前谢谢:)
【问题讨论】:
-
您是否尝试过任何在线可用的教程,您肯定会在搜索一整天时遇到?
-
我在一个计算机科学项目中广泛地训练了 MVC 模式。但是在那里我们暴露了模型。我真的不确定这是否可以。
-
如果您在 MVC 上接受的培训直接将模型暴露在视图中,那么您应该要求退款...
-
不,不是直接... 对模型的唯一引用是在控制器中。但公开可见。而这正是让我绝望的东西......
标签: c# model-view-controller model properties mapping