Я работаю над веб-сайтом Dynamic Data ASP.NET с контекстом базы данных Linq to SQL, и у меня есть вопрос. В одной из моих таблиц ARReports существует столбец с необработанными XML-данными, который можно десериализовать в объект ReportDetails, а также другие данные, такие как EditedBy, ReleaseDate и другие поля.Редактирование динамических данных ASP.NET Сложные объекты
ReportDetails имеет несколько общедоступных свойств, которые я хотел бы открыть на моей странице Edit.aspx.
Моя цель: когда пользователь переходит на страницу Edit.aspx, я хочу, чтобы они могли редактировать строку ARReports и общедоступные свойства ReportDetails, все из которых являются примитивными типами. Затем, когда они обновляются: сериализуйте объект ReportDetails обратно в XML и обновите это поле в таблице.
Есть ли все-таки я могу сказать, создать свойство в классе ARReport (класс Linq to SQL) типа ReportDetails и создать этот класс scaffold на странице Edit.aspx? Может быть что-то, что выглядит следующим образом:
public partial class ARReport
{
private ReportDetails _details;
public ReportDetails Details
{
get
{
if (_details == null)
_details = ReportDetails.DeSerialize(this.RawXML);
return _details;
}
set
{
this.RawXML = ReportDetails.Serialize(_details);
}
}
public class ReportDetails
{
public String Owner {get; set;}
public DateTime LastEdit {get; set;}
//...etc...
public static String Serialize(ReportDetails report)
{
// serialization code
}
public static ReportDetails DeSerialize(String rawXML)
{
// deserialization code
}
}
Я надеюсь, есть некоторая комбинация атрибутов и/или трюков я могу применить к классам и свойствам, чтобы достичь того, что я ищу, но до сих пор, строгий поиск Google не представила никаких решений. Надеюсь, это не слишком смущает. Я ценю любую помощь или прозрение.
Спасибо за предложение. Раньше я никогда не использовал или не изучал UIHintAttribute. Я посмотрю, смогу ли я использовать это в своем проекте, а затем отметьте это, как ответ позже, если это сработает. – LamdaComplex