我有两张桌子:
实体
ID(PK,int)
姓名用户
Entity_ID(FK到Entity.ID)
FName参数
LName的
现在我想使用QueryString将两个表中的所有列显示到我的GridView。我通过配置LDS得到了QueryString部分。我看不出你如何在一个LDS中链接两个表?
以下是我的代码的标记:
<asp:GridView ID="GridView1" runat="server" AllowPaging="True"
AllowSorting="True" AutoGenerateColumns="False"
DataSourceID="LinqDataSource1" Height="209px" Width="648px">
<Columns>
<asp:BoundField DataField="Name" HeaderText="Name" ReadOnly="True"
SortExpression="Name" />
<asp:BoundField DataField="Description" HeaderText="Description"
ReadOnly="True" SortExpression="Description" />
<asp:BoundField DataField="Company" HeaderText="Company" ReadOnly="True"
SortExpression="Company" />
<asp:BoundField DataField="Phone" HeaderText="Phone" ReadOnly="True"
SortExpression="Phone" />
<asp:BoundField DataField="Fax" HeaderText="Fax" ReadOnly="True"
SortExpression="Fax" />
<asp:BoundField DataField="Email" HeaderText="Email" ReadOnly="True"
SortExpression="Email" />
<asp:BoundField DataField="ID" HeaderText="ID" ReadOnly="True"
SortExpression="ID" />
<asp:BoundField DataField = 'Bind("Users.FirstName")' />
</Columns>
</asp:GridView>
<asp:LinqDataSource ID="LinqDataSource1" runat="server"
ContextTypeName="EntityRegistration.DataAccess.OISLinq2SqlVs1DataContext"
EnableInsert="True" EnableUpdate="True" EntityTypeName="" OrderBy="ID"
Select="new (Name, Description, Company, Phone, Fax, Email, ID)"
TableName="Entities" Where="ID == @ID">
<WhereParameters>
<asp:QueryStringParameter Name="ID" QueryStringField="EntityID" Type="Int32" />
</WhereParameters>
</asp:LinqDataSource>
如您所见,我也添加了这一栏:
asp:BoundField DataField ='Bind(“Users.FirstName”)'
不知道我在这里做错了什么?有什么意见吗?
答案 0 :(得分:1)
如果LinqDataSource中存在此类连接,您肯定可以这样做。
你的语法看起来很奇怪:
尝试这个(如果这样的话,现在不要):
<asp:BoundField DataField = 'Users.FirstName' />
或者那个(这个确实有效):
<asp:TemplateField>
<ItemTemplate>
<asp:Literal ID="litFoo" runat="server" Text='<%# Bind("Users.FirstName") %>' />
</ItemTemplate>
</asp:TemplateField>
答案 1 :(得分:0)
您绑定了Firstname,但您的用户有FName还是错字?