Ich habe einen Web-Service, von dem ich eine Zeichenfolge mit HTML zurückgeben muss. Dieser HTML-Code ist das Markup für ein Select-Steuerelement (zur Verwendung in jqGrid-Suchfiltern), z.zurück html von wcf service
<select><option id='1'> value 1 </option></select>
Meine WCF Webservice enthält eine Methode, die diesen Wert als String zurückgibt ...
public string GetLeadTypeSelect()
{
return "<select><option id='1'> value 1 </option></select>";
}
und den Vertrag für diese Methode ist:
[OperationContract]
[WebInvoke(Method = "GET",
BodyStyle = WebMessageBodyStyle.Bare,
ResponseFormat = WebMessageFormat.Json)]
string GetLeadTypeSelect();
Mein Problem ist, dass Escapezeichen werden in die Zeichenfolge eingefügt, sodass das zurückgegebene HTML unbrauchbar wird. Der Dienst gibt Folgendes zurück:
"<select><option id='1'> value 1 <\/option><\/select>"
Die Anführungszeichen und die Escapezeichen '/'
in den abschließenden <option>
und <select>
Tags beide Probleme.
jqGrid verwendet den zurückgegebenen HTML die Drop-down anzuzeigen ...
filterModel: [
{ label: 'Type', name: 'type', stype: 'select', surl: '../../../Services/Leads/GetLeads.svc/GetLeadTypeSelect' },
Also, meine Frage ist, wie ich reine HTML zurück an den Client von diesem Web-Service zurückkehren, so dass es in eingefügt werden kann meine HTML Seite?
Vielen Dank im Voraus für jede Hilfe, Colin.
Danke Schlange für die Antwort. Leider sind meine Hände ein wenig gebunden. Ich verwende jqGrid, und die einzige Möglichkeit, ein ddl für Suchparameter zu erstellen, besteht darin, einen Webdienst aufzurufen, der den HTML-Code zurückgibt. Ich habe die Frage bearbeitet, um das zu reflektieren. Ich habe keine Möglichkeit, den zurückgegebenen String zu manipulieren, sonst könnte ich in Javascript unlescape. – Col