2010-03-09 2 views
2

Каков формат привязки данных к сложному «объекту»? У меня есть класс linq to sql, у которого есть сдерживание, т. Е. Object.containedobject.Связывание данных с декларативным синтаксисом под-объекта?

Я хочу ссылаться на поля вспомогательных объектов декларативными.

Так что я пробовал свой MySubField.MyBasicProperty, и это не сработало, а также MySubField_MyBasicProperty.

Спасибо за помощь!

ответ

0

Я нашел решение и обмена для тех, кто приходит за мной в будущем.

Чтобы заменить имена параметров, вам необходимо переопределить метод обновления objectdatasource. Это возможно только в том случае, если свойство objectypename объекта objectatatource не установлено, иначе они будут считаны только для чтения.

Вот мой пример:

protected void ObjectDataSource1_Updating(object sender, ObjectDataSourceMethodEventArgs e) 
    { 
     foreach (string currentKey in e.InputParameters.Keys) 
     { 
      if (currentKey.Contains(".")) 
      { 
       string newKey = currentKey.Replace(".", "_"); 
       object myValue = null; 

       if (e.InputParameters[currentKey] != null) 
        myValue = e.InputParameters[newKey]; 
       if (e.InputParameters.Contains(newKey)) 
        e.InputParameters.Remove(newKey); 

       e.InputParameters.Add(newKey, myValue); 
       e.InputParameters.Remove(currentKey); 

      } 
     } 
+0

Другое дело, не следует изменять коллекцию в foreach, чтобы ее можно было зафиксировать. –

Смежные вопросы