2010-04-26 1 views
0

Рисунок есть простое решение этой проблемы, но я не смог его найти.Ошибка привязки данных при воссоздании объекта

У меня есть привязка данных в приложении ASP.Net к GridView. Это gridview привязано к объекту ObjectDataSource в соответствии со стандартным использованием.

Проблема заключается в том, что одно из моих связанных полей использует свойство DataFormatString = "{0: C}" и из-за того, что формат валюты отображается при попытке обновления и воссоздан объект, я получаю ошибку как таковую «$ 13.00 не является допустимым значением для десятичного числа».

Очевидно, что это результат столбца с использованием FormatString, а затем попытка привязать его к десятичному свойству, которое у меня есть в моем объекте под названием UnitPrice.

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

Заранее благодарим за любую помощь.

Для любого любопытного решение в конечном итоге глядя, как это ...

<asp:TemplateField> 
    <HeaderTemplate> 
     UnitPrice 
    </HeaderTemplate> 
    <EditItemTemplate> 
     <asp:Label ID="lblEditItem" runat="server" Text='<%# Bind("UnitPrice", "{0:#,##0.00}") %>' Enabled="false" ></asp:Label> 
    </EditItemTemplate> 
    <ItemTemplate> 
     <asp:Label Runat="server" Text='<%# Bind("UnitPrice", "{0:c}") %>' ID="lblUnitPrice"></asp:Label> 
    </ItemTemplate> 
</asp:TemplateField> 

ответ

1

Не включайте строку формата в EditItemTemplate. Просто привяжите исходное значение.

Что-то вроде этого:

<asp:TemplateField SortExpression="UnitPrice" HeaderText="Unit Price"> 
    <EditItemTemplate> 
     <asp:TextBox ID="editUnitPrice" Runat="server" Text='<%# Bind("UnitPrice", "{0:#,##0.00}") %>' ></asp:TextBox> 
    </EditItemTemplate> 
    <ItemTemplate> 
     <asp:Label Runat="server" Text='<%# Bind("UnitPrice", "{0:c}") %>' ID="Label1"> </asp:Label> 
    </ItemTemplate> 
</asp:TemplateField> 
+0

спасибо дружище, ты был немного не в терминах UnitPrice фактически являясь только для чтения колонки, но после того, как я изменил код при условии, немного использовать метку связывания работал отлично ... Еще раз спасибо. –

+0

Не беспокойтесь. Удачи с вашим проектом. –