0

我必须表:用户和 PrivateMessages。用户有用户 ID 和用户名。PrivateMessages 具有 PMID 和 Text 以及 SenderID 列。(当然它还有更多,但要解释问题,就足够了)

现在我有一个 DataSource 和一个这样的方法:

    public static List<UserPM> GetAllPMsAsSender(Guid userID)
    {
        using (RPGDataContext dc = new RPGDataContext())
        {
            return (from a in dc.UserPMs where a.Sender == userID && !a.IsDeletedSender orderby a.Timestamp select a).ToList();
        }
    }

并将其绑定到 ObjectDataSource 并绑定到网格视图。

网格视图现在如下所示:

<asp:ObjectDataSource ID="odsOutcome" runat="server" 
    SelectMethod="GetAllPMsAsSender" TypeName="DAL.PMDAL">
    <SelectParameters>
        <asp:CookieParameter CookieName="UserID" DbType="Guid" Name="userID" />
    </SelectParameters>
</asp:ObjectDataSource>
<asp:GridView ID="gridOut" runat="server" AutoGenerateColumns="False" 
    DataSourceID="odsOutcome">
    <Columns>
        <asp:BoundField DataField="PMID" HeaderText="PMID" SortExpression="PMID" />
        <asp:BoundField DataField="Text" HeaderText="Text" SortExpression="Text"/>
        <asp:BoundField DataField="UserID" HeaderText="UserID" SortExpression="UserID" />

    </Columns>
</asp:GridView>

那么我怎样才能在这个字段中获取用户名而不是用户ID?

4

1 回答 1

1

尝试使用 join 并为您的对象数据源选择用户名,并使用用户名而不是用户 ID 来显示它。请参阅此链接How to do a join in linq to sql with method syntax?

于 2013-09-06T20:21:59.843 回答