我有一个使用 linqdatasource 和我创建的 datamodelcontext 的 gridview。
为什么我可以这样做:
<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,有什么想法可以让我编辑此字段,但是当我单击 gridview 上的更新时,它实际上并没有保存它?
<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>