У меня есть объект на стороне сервера.
public class OptionRelation
{
public intOptionId { get; set; }
public string Type { get; set; }
public string Child { get; set; }
public string Peer { get; set; }
}
На мой взгляд, я делаю следующее:
//where relations is a List<OptionRelation>
var a = relations.FindAll(r => r.OptionId == option.OptionID);
string data_relation = "";
if(a.Count > 0)
{
data_relation = "data-relation=" + Json.Encode(a);
}
<input type="checkbox" @data_relation />
Атрибут @data заполняется так, как я ожидаю большую часть времени. Однако иногда это ломается. Если я открою его в FireBug, атрибуты <input>
будут мусором. Единственное, о чем я могу думать, это то, что при разрыве длина отношения данных немного больше, чем в остальных случаях. В частности, он разрывается, когда отношение данных должно быть:
data-relation="[{"OptionId":80,"Type":"required_1","Child":"#1625, #1626, #1627","Peer":""}]"
Есть идеи, почему это ломается?
РЕШЕНИЕ. В итоге я переписал тонны кода и, наконец, заставил его работать, используя собственный помощник HTML и частично используя код Дарина для помощника HTML.