Как я могу преобразовать HtmlText в обычную строку в C # - PullRequest
0 голосов
/ 08 июня 2011

У меня есть следующая модель:

namespace power.Storage.Models
{
    public class Answer
    { 
        public HtmlText[] Explanation { get; set; }
        public string[] ImageFile { get; set; }
    }

    public class HtmlText { 
        [AllowHtml]
        public string TextWithHtml { get; set; } 
    }
}

Теперь я хочу получить данные из ответа и выполнить следующие действия:

String[] _code_explanation = null;
_code_explanation = 
 (string) JSON.FromJSONString<Answer>(_code.AnswersJSON).Explanation;

Но это не работает. Он говорит "не может преобразовать HtmlText в строку

Есть ли что-то, что я пропускаю? Я думал, что все, что мне нужно сделать, это добавить (строку) перед JSON ...

Вот код для JSON

    public static T FromJSONString<T>(this string obj)
    {
        using (var stream = new MemoryStream(Encoding.UTF8.GetBytes(obj)))
        {
            DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T));
            T ret = (T)ser.ReadObject(stream);
            return ret;
        }
    }

Следующая половина работы:

HtmlText[] _code_explanation = null;
    _code_explanation = 
     (string) JSON.FromJSONString<Answer>(_code.AnswersJSON).Explanation;

Это дает мне массив HtmlText, но тогда я не уверен, как преобразовать это в простой массив строк.

Ответы [ 3 ]

2 голосов
/ 08 июня 2011

HTMLText не имеет оператора приведения к String, явного или неявного.

1 голос
/ 08 июня 2011

Вы можете декодировать HtmlText с помощью метода HttpUtility.HtmlDecode.Он не может быть напрямую приведен к строке.

0 голосов
/ 08 июня 2011

Я думаю, что вы хотите сделать что-то вроде этого, предполагая, что Объяснение имеет тип HtmlText

String[] _code_explanation = null;
_code_explanation = 
   JSON.FromJSONString<Answer (_code.AnswersJSON).Explanation.TextWithHtml;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...