У меня есть сетка с использованием linqdatasource с datamodelcontext, который я создал.
Почему я могу это сделать:
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%# Eval("tblUserProfile.Phone") %>'>
</asp:Label>
</ItemTemplate>
</asp:TemplateField>
Но это:
<asp:BoundField DataField="tblUserProfile.Phone" HeaderText="ph" ReadOnly="True"/>
выдает ошибку:
"Поле или свойство с именем 'tblUserProfiles.Phone' не найдено в выбранном источнике данных."
Если поле или свойство не существует в источнике данных, как оно работает в первом случае? Что конкретно делает eval? Я думал, что это просто позволит вам получить доступ к полю в источнике данных?
Довольно плохо знаком с этим, поэтому, если бы кто-то мог дать мне простое объяснение, я был бы признателен.
Для дополнительного cookie, есть ли идеи, почему это позволило бы мне отредактировать это поле, но когда я нажму кнопку Обновить в сетке, оно не сохранит его?
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%# Eval("tblUserProfile.Phone") %>'>
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="tb1" runat="server" Text='<%#Bind("tblUserProfile.Phone") %>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>