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)」に変更することもできると思います。それが正しい方法である場合は、それが私が行うことだと思います。しかし、「これ」を渡すのはとてもいいことです!! :)
私がやろうとしていることは可能ですか?なぜ「これ」は読み取り専用で、別のメソッドに渡すことができないのですか?