Chiamata al servizio Web di completamento automatico Ajax - Metodo di servizio, lo chiamo correttamente?
-
09-06-2019 - |
Domanda
Ok, quindi il mio metodo nel mio servizio web richiede che venga passato un tipo, è chiamato nella proprietà ServiceMethod di AutoCompleteExtender, non sono chiaro su come dovrei farlo, quindi l'ho chiamato in questo modo:
ServiceMethod="DropDownLoad<<%=(typeof)subCategory%>>"
dove subCategory è una proprietà della pagina simile a questa:
protected SubCategory subCategory
{
get
{
var subCategory = NHibernateObjectHelper.LoadDataObject<SubCategory>(Convert.ToInt32(Request.QueryString["SCID"]));
return subCategory;
}
}
Soluzione
Non penso che sia possibile chiamare un metodo generico su un servizio web.
Se guardi la descrizione del servizio di due metodi identici, uno generico, uno no:
[WebMethod]
public string[] GetSearchList(string prefixText, int count)
{
}
[WebMethod]
public string[] GetSearchList2<T>(string prefixText, int count)
{
}
Sono identici.Sembra che sia SOAP 1.x che HTTP POST non consentano questo tipo di operazione.
Altri suggerimenti
È possibile utilizzare il parametro ContextKey di AutoCompleteExtender per utilizzare un singolo metodo Web che accetta un nome di tipo come chiave di contesto.Quindi, nel metodo web, utilizza la riflessione e quel parametro per restituire la stringa desiderata[].