我正在创建一个 MVC 4 视图使用的模型,并且我一直在创建一个为其自身加载值的方法。
在我的控制器中:
public ActionResult Index(int id)
{
MyModel _Model = new MyModel();
_Model.LoadValues(id); //Now that's init'd, get it's values
return View(_Model);
}
问题出在“LoadValues()”方法中 - 不允许将“this”作为引用传递 =/
我的模型:
public class MyModel
{
public string Value1 { get; set; }
public string Value2 { get; set; }
public MyModel()
{
}
public LoadValues(int id)
{
//I would like to pass "this" to the method as a ref so it could directly fill the values
DAL.LoadMyModel(id, ref this); //doesn't work
//My work around is this, but there has to be a better way....
MyModel _TempModel = new MyModel(); //this
DAL.LoadMyModel(id, ref _TempModel); //is
Value1 = _TempModel.Value1; //very
Value2 = _TempModel.Value2; //terribad
}
}
我想我也可以将“LoadValues(int id)”更改为“LoadValues(int id, ref MyModel _TempModel)”,如果这是正确的做法,我想这就是我要做的。但是能传入“这个”就太好了!:)
我正在尝试做的事情可能吗?为什么“this”是只读的并且不能传递给另一个方法?