показывает это для ya?
$('input').change(function() {
if ($('#one').is(':checked')) {
alert('checked');
} else {
alert('not checked');
}
});
Похоже, это происходит из-за того, что класс LookupItem
не имеет дочернего элемента в его XML-представлении. По этой причине XmlSerializer
считает его XML-элементом simpleContent . Если вы добавите новое свойство в LookupItem
, которое должно быть сериализовано как элемент XML, оно будет работать нормально.
Я просто потратил несколько минут на изучение доступных атрибутов сериализации XML, но не смог найти ни одного, который позволил бы указать, что тип НЕ является элементом simpleContent
...
Итак Я думаю, вы могли бы заставить его работать, добавив фиктивное свойство или поле, которое вы никогда не используете в классе LookupItem
. Если вы никогда не присвоите ему значение, он останется пустым и не будет сериализован, но это предотвратит обработку вашего класса как simpleContent
. Я знаю, что это грязный обходной путь, но я не вижу другого простого пути ...
public class LookupItem
{
[System.Xml.Serialization.XmlAttribute()]
public int ID { get; set; }
[System.Xml.Serialization.XmlText()]
public string Name { get; set; }
public object _dummy;
}
(Кстати, обратите внимание, что атрибут Serializable
не требуется для сериализации XML.)
В любом случае, вы действительно нужно сериализовать Имя
как текст XML? Это довольно необычно, обычно элементы XML имеют либо простое содержимое (текст), либо дочерние элементы ... Сочетание того и другого затрудняет чтение XML, поэтому, если вы не вынуждены это делать, я предлагаю вам сериализовать Name
как атрибут или дочерний элемент.