MVCアプリにクラスがあり、コントローラーで呼び出して、ビューに値を入力しています
public class Mainclass
{
public List<main> mainset = new List<main>();
public void Crudmain(string path) //Capital "C" => Create, "R" => Read, "U" => update
{
XDocument x = new XDocument(new XElement("mainset"));
foreach (main main in mainset)
{
x.Root.Add(mainxml(main)); //mainxml creates xelements for main
};
x.Save(path + "/" + 0 + ".xml");
}
public class main
{
public personalinfo info { get; set; }
public addressinfo currentaddr { get; set; }
public addressinfo otheraddr { get; set; }
public telephone currenttel { get; set; }
public telephone othertel { get; set; }
}
私のコントローラーでは、アクションで Crudmain() を呼び出します。
private main cb = new main();
[HttpPost]
public ActionResult Create(string button, main x)
// getting path via some long code
if (ModelState.IsValid)
{
cb = x;
cb.Crudmain(path);
return View("Read", cb);
}
else
{
return View("Create", cb);
}
XML ファイルを取得していますが、データが空です。Personalinfo のオブジェクトの変数に依存するパスも正しいですが、データは空です。Crudmain が新しいメイン クラスを初期化しているような気がします。VB から C# に移行したばかりで、メソッドがよくわかりません。メインクラスをコード内のコントローラーから渡されたものに設定する方法を教えてください。