#c# #web-services #arraylist
#c# #веб-сервисы #arraylist
Вопрос:
У меня есть a webmethod
, который возвращает an ArrayList
, содержащий 4 объекта:
public class Getdata
{
public string Name { get; set; }
public int TagID { get; set; }
public string Address { get; set; }
}
[WebMethod]
public ArrayList GetValues()
{
ArrayList list = new ArrayList();
Getdata employee1= new Getdata()
{
Name="Sathya",
TagID=10,
Address="Chennai"
};
Getdata employee2= new Getdata()
{
Name="Ram",
TagID=11,
Address="Chennai"
};
Getdata employee3= new Getdata()
{
Name="Pandi",
TagID=12,
Address="Chennai"
};
Getdata employee4= new Getdata()
{
Name = "Karthick",
TagID = 13,
Address = "Chennai"
};
list.Add(employee1);
list.Add(employee2);
list.Add(employee3);
list.Add(employee4);
return list;
}
Но здесь я просто хочу получить (отобразить) Name
всех этих сотрудников. Как я могу это сделать в пользовательском интерфейсе?
И это мой метод, вызывающий это webmethod
:
protected void Page_Load(object sender, EventArgs e)
{
EmployeeWebService obj = new EmployeeWebService ();
ArrayList list = obj.GetValues();//Calling webmethod
//foreach (object o in list)
//Response.Write(o);
}
Вывод должен быть:
Sathya
Ram
Pandi
Karthick
Комментарии:
1. Используйте List<getData> вместо ArrayList
Ответ №1:
Пожалуйста, попробуйте следующее…
public class Getdata
{
public string Name { get; set; }
public int TagID { get; set; }
public string Address { get; set; }
}
[WebMethod]
public List<GetData> GetValues()
{
var list = new List<GetData>();
Getdata employee1= new Getdata()
{
Name="Sathya",
TagID=10,
Address="Chennai"
};
Getdata employee2= new Getdata()
{
Name="Ram",
TagID=11,
Address="Chennai"
};
Getdata employee3= new Getdata()
{
Name="Pandi",
TagID=12,
Address="Chennai"
};
Getdata employee4= new Getdata()
{
Name = "Karthick",
TagID = 13,
Address = "Chennai"
};
list.Add(employee1);
list.Add(employee2);
list.Add(employee3);
list.Add(employee4);
return list;
}
protected void Page_Load(object sender, EventArgs e)
{
EmployeeWebService obj = new EmployeeWebService ();
var list = obj.GetValues();//Calling webmethod
foreach (var item in list)
{
Response.Write(item.Name "<br>");
}
}
Комментарии:
1. Извините — не уделяю пристального внимания. Измените эти ArrayLists на List<getData> . Я отредактирую свой ответ.
2. Следовательно, с помощью ArrayList невозможно получить только имя??
3. ArrayLists можно использовать для хранения объектов любого типа, и поэтому, когда вы извлекаете элементы из ArrayList, они должны быть приведены к их правильному типу. С другой стороны, общий список<> содержит элементы определенного типа, и нет необходимости приводить их содержимое при обращении. Вы можете использовать ArrayList, но вы должны позаботиться о правильном приведении. С другой стороны, если вы используете List<> , вы обнаружите, что он будет работать для вас автоматически.