【问题标题】:DataSource And Code Behind数据源和代码背后
【发布时间】:2012-09-30 19:30:18
【问题描述】:

如何使用在 aspx 文件中声明的数据源对象?

    <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="GetEntryByID"
        TypeName="Entry">
        <SelectParameters>
            <asp:QueryStringParameter DbType="Guid" Name="id" QueryStringField="ID" />
        </SelectParameters>
    </asp:ObjectDataSource>

我的数据源有一个名为“ID”的对象,我在 asp 文件中使用 Eval("ID"),如何在不调用 select 方法并使用该数据源的情况下在代码中获取它?

更多代码:

  <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
        DataSourceID="ObjectDataSource1" BorderStyle="None">
        <Columns>
            <asp:TemplateField>
                <ItemTemplate>
                    <p style="vertical-align: middle; margin: 8px; background-color: #af9b9b; width: 475px;
                        line-height: 30px; padding-left: 20px; padding-right: 20px;">
                        <span style="float: left;">View Count :
                            <%# Eval("View") %>
                        </span>

                        <asp:HyperLink ID="HyperLink2" NavigateUrl='<%# Eval("ID","~/ShowStory.aspx?ID={0}") %>'
                            runat="server"><%# Eval("Title") %></asp:HyperLink></p>
                    <p style="padding: 10px; padding-top: 0;">
                        <%# Eval("Text") %></p>
                    <p style="vertical-align: middle; margin: 8px; background-color: #af9b9b; width: 475px;
                        line-height: 30px; padding-left: 20px; padding-right: 20px;">
                      Author : <asp:Label ID="lblUser" runat="server" Visible=false Text=""><%# Eval("UserID") %></asp:Label><asp:Label
                          ID="lblUser2" runat="server" Text="Label"></asp:Label></p>
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView>

现在我想使用 members.GetUser("ID").UserName 通过 user provider key 获取用户名。并在lblUser 中显示如何?

【问题讨论】:

  • 您使用的是网格视图吗?还是中继器?你能再显示一些代码吗?
  • 没什么,我只是想从数据源中获取 id 并通过这个 id 获取会员船中的用户名,然后在标签中显示它
  • 在后面的代码中使用 ObjectDataSource1 会给你带来什么?
  • 如果我理解正确,您使用 ObjectDataSource 只是为了从会员中获取用户?您没有使用任何使用 ObjectDataSource 的相关控件?为什么不直接使用 SQL 查询来获取数据?
  • 添加了更多代码和说明

标签: c# asp.net objectdatasource


【解决方案1】:

membership.GetUser(ObjectDataSource1.ID).UserName 将为您提供与 ID 属性匹配的用户的用户名,如果我理解您的要求。

将其分配给asp:Label 对象只需

lblUser.Text = membership.GetUser(ObjectDataSource1.ID).UserName

【讨论】:

  • 操作,它不起作用!我认为使用&lt;%# Membership.GetUser(Eval("UserID")).UserName.ToString() %&gt; 的数据源 (DataSourceName) 的 id retuturn ID 解决了我的问题,还有其他方式吗?
猜你喜欢
  • 2012-05-11
  • 1970-01-01
  • 2015-05-16
  • 2011-03-21
  • 1970-01-01
  • 2011-08-15
  • 2014-04-05
  • 2016-10-23
  • 1970-01-01
相关资源
最近更新 更多