возвратите HTML из wcf службы

У меня есть веб-сервис, из которого я должен возвратить строку, содержащую HTML. Этот HTML является разметкой для Избранного управления (для использования в фильтрах поиска jqGrid), например.

<select><option id='1'> value 1 </option></select>  

Мой веб-сервис WCF содержит метод, который возвращает это значение как строку...

public string GetLeadTypeSelect()
{
    return "<select><option id='1'> value 1 </option></select>";
}  

и контракт для этого метода:

[OperationContract]
[WebInvoke(Method = "GET",
    BodyStyle = WebMessageBodyStyle.Bare,
    ResponseFormat = WebMessageFormat.Json)]
string GetLeadTypeSelect();  

Моя проблема состоит в том, что символы ESC вставляются в строку, настолько представляющую возвращенный бесполезный HTML - сервис возвращает это:

"<select><option id='1'> value 1 <\/option><\/select>"  

Кавычки и завершенное '/' в закрытии <option> и <select> теги обе проблемы причины.

jqGrid использует возвращенный HTML для отображения выпадающего...

filterModel: [
    { label: 'Type', name: 'type', stype: 'select', surl: '../../../Services/Leads/GetLeads.svc/GetLeadTypeSelect' },

Так, мой вопрос, как я возвращаю чистый HTML назад клиенту от этого веб-сервиса так, чтобы он мог быть вставлен в мою страницу HTML?

Заранее спасибо за любую справку, Colin.

5
задан Col 7 January 2010 в 11:11
поделиться

1 ответ

Полагаю, вы используете его через Javascript.

Если вы делаете unescape(response), ваша проблема должна быть решена.

С другой стороны, если вы не используете его на Javascript, а только на ASP.NET / PHP / каком бы сайте вы не находились, вероятно, лучше просто вернуть массив значений и отобразить значения, чтобы вы могли повторно использовать веб-сервис в другом коде.

Ваш код теперь работает только в HTML среде. Что, если Вам нужно написать .NET / C++ / какое бы приложение завтра не использовало Ваш веб-сервис? Тогда Вам нужно будет изменить его. И дело не в веб-сервисах. Веб-сервисы способствуют многократному использованию кода. И вы боретесь с этим. (и код выиграет!)

0
ответ дан 14 December 2019 в 13:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: