У меня есть ViewModel файл, который я создал:Невозможно использовать Еогеасп для перебора ViewModel
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
}
}
Я не уверен, почему это происходит, может ли кто-нибудь помочь?
EDIT: viewmodel принимает данные, переданные ему через вызов AJAX. Я просто заполняю поля по мере необходимости. Я сделал это, потому что я не хотел иметь метод, который принимает более 20 параметров inline (строка a, строка b, строка 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. Я создаю список элементов, которые нужно передать в конец. – seroth
В вашем коде нет коллекции, для которой нужно зацикливаться. Что вы пытаетесь на самом деле сделать * в этом цикле? – David