2015-12-11 3 views
0

У меня возникли проблемы с методом DataBinder.Eval(Object, String). https://msdn.microsoft.com/en-us/library/4hx47hfe(v=vs.110).aspxУбедитесь, что вся строка используется, когда она содержит период

Вообще метод работает, но не в случае, когда значение строки содержит .

Пример:

string DataField = "Trans. Due"; 
var value = DataBinder.Eval(container.DataItem, DataField); 

получаю следующее сообщение об ошибке;

{"DataBinding: 'System.Data.DataRowView' does not contain a property with the name 'Trans'."} 

Пробовал помещать строку между квадратными скобками и избегать периода. Также попробовали отличить его до строки безрезультатно;

var value = DataBinder.Eval(container.DataItem, DataField.toString()); 

Значит, что-то в этом методе вводит в заблуждение строку для свойства? Как я могу убедиться, что он использует значение просто как строку?

+0

попытаться сделать строку как общедоступную – vinodh

ответ

1

Вы можете сделать это, используя DataRowView. Получите DataRowView из текущей строки, затем получите valueproperty от name, которого вы хотите от DataRowView.

+0

Итак, синтаксис, который мне нужен был немного другим, но по сути принцип был хорошим. Благодаря! 'DataRowView rowView = (DataRowView) container.DataItem; var value = rowView.Row [DataField]; ' – beatsandbosons

+0

@beatsandbosons Да, вы правы, я только что опубликовал общий способ получить желаемые результаты. – Mairaj

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