from - send datatable to web service c#
devolver varias filas de un servicio de asmx (2)
Devolvería una matriz de DTO livianos.
Ex, DTO:
public class Example
{
public string Name { get; set; }
public int Value { get; set; }
}
Y en tu servicio web:
[WebMethod]
public Example[] GetExamples()
{
return new Example[]{
new Example { Name = "Test", Value = 100 },
new Example { Name = "Test 2", Value = 500 }
};
}
Tengo un método de servicio web que me gustaría devolver varias filas de una tabla de datos.
Estoy familiarizado con la devolución de valores de los métodos del servicio web, pero no con las filas múltiples de una tabla de datos. ¿Cuál es la mejor manera de hacer esto? ¿Debo devolver una matriz o una list<>
?
Mi método de código está configurado así.
[WebMethod]
public void UpdateBold(int count, float lat, float lng)
{
DataTable dt = new Gallery().DisplayNearestByLatLong(count, lat, lng);
// return code here
}
Puede crear un nuevo tipo para su elemento de tabla de datos y devolver una matriz de estos datos
public class sample
{
public string val1;
public string val2;
}
[WebMethod]
public sample[] UpdateBold(int count, float lat, float lng)
{
DataTable dt = new Gallery().DisplayNearestByLatLong(count, lat, lng);
var samples = new List<sample>();
foreach(DataRow item in dt.Rows)
{
var s = new sample();
s.val1 = item[0].ToString();
s.val2 = item[1].ToString();
samples.Add(s);
}
return samples.ToArray();
}
para Ajax:
para consumir vea http://encosia.com/2008/03/27/using-jquery-to-consume-aspnet-json-web-services/, pero debe hacer que su servicio web serialice JSON, para esto vea http: // msdn.microsoft.com/en-us/library/bb763183.aspx