1

作成した datamodelcontext を持つ linqdatasource を使用するグリッドビューがあります。

なぜ私はこれを行うことができるのですか:

<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' という名前のフィールドまたはプロパティが、選択したデータ ソースで見つかりませんでした。」

フィールドまたはプロパティがデータソースに存在しない場合、最初のケースではどのように機能しますか? 評価は正確に何をしますか?データソースのフィールドにアクセスできるだけだと思いましたか?

これはかなり新しいので、誰かが私に基本的な説明をしてくれれば幸いです。

追加の 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>
4

1 に答える 1

1

おそらく、Phone フィールドを tblUserProfile で修飾する必要はないでしょうか? なしで試してみてください。そのまま使用してDataField="Phone"ください。

于 2009-11-29T10:49:47.783 に答える