私のアプリケーションでは、データをソートし、データ層に渡すリストを作成するメソッドを作成しました。params object[] とモデルを受け入れるようにオーバーロードしました。モデルを受け入れるオーバーロードされたメソッドを作成していますが、ループ処理に問題があります。
これは私のコントローラーメソッドです
[HttpPost]
public ActionResult CreateUser(vw_UserManager_Model model)
{
// Return Model to view with error message when not valid.
if (!ModelState.IsValid == true)
{
return View(model);
}
else
{
List<string> myParams = DataCleaner.OrganizeParams(model);
}
これは、データレイヤーに渡す前にデータを整理するための私の方法です
public static List<string> OrganizeParams(vw_UserManager_Model model)
{
List<string> myParams = new List<string>();
var modelProperties = model.GetType().GetProperties();
foreach (var property in model.GetType().GetProperties())
{
switch (property.PropertyType.Name)
{
case "String":
myParams.Add("System.String" + ":" + property.GetValue(property.PropertyType.Name, null));
break;
case "Guid":
myParams.Add("System.Guid" + ":" + property.GetValue(property.PropertyType.Name, null));
break;
case "Int32":
myParams.Add("System.Int32" + ":" + property.GetValue(property.PropertyType.Name, null));
break;
case "Boolean":
myParams.Add("System.Boolean" + ":" + property.GetValue(property.PropertyType.Name, null));
break;
}
}
return myParams;
}
Switch/Case ロジックで行っていることは実際には機能しません。これは、オブジェクトをブレークポイントで表示し、コードに記述する必要があるものを確認できなかったためです。IEnumerable も使用できることはわかっていますが、どうすればよいかわかりません。
助言がありますか?
概要
MVC3のコードファイルでモデルをループするには?