J'ai un service Web à partir de laquelle j'ai besoin de retourner une chaîne contenant du code HTML. Ce code HTML est le balisage d'un contrôle Select (à utiliser dans les filtres de recherche jqGrid), par ex.retourner le code HTML du service wcf
<select><option id='1'> value 1 </option></select>
Mon service Web WCF contient une méthode qui renvoie cette valeur comme une chaîne ...
public string GetLeadTypeSelect()
{
return "<select><option id='1'> value 1 </option></select>";
}
et le contrat de cette méthode est:
[OperationContract]
[WebInvoke(Method = "GET",
BodyStyle = WebMessageBodyStyle.Bare,
ResponseFormat = WebMessageFormat.Json)]
string GetLeadTypeSelect();
Mon problème est que les caractères d'échappement sont insérés dans la chaîne afin de rendre le HTML renvoyé inutilisable - le service renvoie ceci:
"<select><option id='1'> value 1 <\/option><\/select>"
Les guillemets et le '/'
échappé dans les étiquettes de fermeture <option>
et <select>
posent tous les deux des problèmes.
jqGrid utilise le code HTML retourné pour afficher le menu déroulant ...
filterModel: [
{ label: 'Type', name: 'type', stype: 'select', surl: '../../../Services/Leads/GetLeads.svc/GetLeadTypeSelect' },
Alors, ma question est, comment je retourne HTML pur au client de ce service Web afin qu'il puisse être inséré dans ma page HTML? Merci d'avance pour toute aide, Colin.
Merci Snake pour la réponse. Malheureusement, mes mains sont un peu liées. J'utilise jqGrid, et la seule façon de créer un ddl pour les paramètres de recherche est d'appeler un service web qui renvoie le html. J'ai modifié la question pour refléter cela. Je n'ai pas la possibilité de manipuler la chaîne renvoyée sinon je pourrais annuler le javascript. – Col