遍历我有我创建一个视图模型文件:不能使用的foreach通过视图模型
public class MyViewModel
{
public string AString { get; set; }
public string BString { get; set; }
public string CString { get; set; }
public string DString { get; set; }
public DateTimeOffset ADate { get; set; }
public DateTimeOffset BDate { get; set; }
}
我试图运行foreeach语句来遍历通的项目,但我得到
MyViewModel不包含
GetEnumerator
这里一个公共定义是我的发言,试图使用它:
public ActionResult MyMethod(MyViewModel model)
{
foreach(var item in model)
{
//add code here
}
}
我不知道为什么会发生这种情况,任何人都可以帮忙吗?
编辑:viewmodel正在接受通过AJAX获取调用传递给它的数据。我只是填写必要的字段。我这样做是因为我不想有一个方法接受超过20个参数inline(string a,string b,string c,...)。制作具有所有可能字段的视图模型更有意义,并且AJAX调用将相应地填充这些字段。之后我想要做的是将这些值传递给服务,但必须稍作改动才能使用旧服务。
服务预计:
serviceName(ID, GUID, NAME, parameters)
ID - string
GUID - GUID
NAME - string
parameters - new parameter { name = "[model.Name]", value = new List<string>(){ "[model.value]" }}
的〔model.Name]和[model.Value]是通过迭代“如果使用正确的术语”直通我创建以填充这些时隙模型填充。
由于MyViewModel不是IEnumerable。如果你想循环遍历模型中的所有成员,你需要明确或通过反射来完成。我不确定你想在循环中完成什么,如果你正在进行验证,你需要根据字段包含的内容来做到这一点,并且在那时你最好为每个成员编写“if”语句。你想在循环内完成什么? –
你能给我一个明确的例子吗?我是学习C#和MVC的一个月。我正在构建要传递给endPoint的项目列表。 – seroth
代码中没有收集哪个循环。你想要在那个循环中做些什么? – David