Помогите с ASP.NET ObjectDataSource - PullRequest
       38

Помогите с ASP.NET ObjectDataSource

0 голосов
/ 16 ноября 2009

У меня есть объект User с методом Load, который принимает параметр UserId и загружает данные пользователей в переменные-члены объектов.

Теперь я хотел бы загрузить эти данные в DetailsView элемент управления, используя ObjectDataSource, но я не знаю, как это сделать.

Прежде всего, я не уверен, что у меня правильно настроен код для передачи параметра (UserID) в SelectMethod (cUser.Load). Во-вторых, я не знаю, как я могу загрузить эти данные в DetailsView, так как на самом деле я не возвращаю результаты из метода Load, я просто загружаю объект с данными ... вот мой код ..

<asp:GridView runat="server" ID="gvUsers" DataKeyNames="UserID" BackColor="#eeeeee"     Width="85%"
                    HorizontalAlign="Center"
                    Font-Bold="True" Font-Names="Verdana"
                    Font-Size="10pt" AutoGenerateColumns="False"
                    OnRowDataBound="GridView1_RowDataBound"
                    OnRowDeleting="GridView1_RowDeleting"
                    OnSelectedIndexChanged="IndexChanged" >
            <HeaderStyle BackColor="Black" ForeColor="White"
                   Font-Bold="True" HorizontalAlign="Center" />
            <SelectedRowStyle BackColor="yellow" ForeColor="blue" />
            <AlternatingRowStyle BackColor="#ffffff" />
                   <Columns>
                         <asp:TemplateField>
                       <ItemTemplate>
                           <asp:LinkButton ID="LinkButton2"
                             CommandArgument='<%# Eval("UserID") %>'
                             CommandName="Select" runat="server">
                             Select</asp:LinkButton>
                         </ItemTemplate>     
                         </asp:TemplateField>
                        <asp:BoundField DataField="UserID" Visible="false" />
                        <asp:BoundField DataField="FirstName" HeaderText="First Name"     />
                        <asp:BoundField DataField="LastName" HeaderText="Last Name" />
                        <asp:TemplateField HeaderText="Delete?">
                         <ItemTemplate>
                           <asp:LinkButton ID="LinkButton1"
                             CommandArgument='<%# Eval("UserID") %>'
                             CommandName="Delete" runat="server">
                             Delete</asp:LinkButton>
                         </ItemTemplate>
                       </asp:TemplateField>
                    </Columns>
              </asp:GridView><br /><br />
              <asp:DetailsView runat="server" ID="dvUser"     DataSourceID="ObjectDataSource1" AutoGenerateRows="False" Width="85%"
                    HorizontalAlign="Center" DataKeyNames="UserID" >
                  <Fields>
                    <asp:BoundField DataField="UserID" Visible="false" />
                    <asp:BoundField DataField="FirstName" HeaderText="First Name" />
                    <asp:BoundField DataField="LastName" HeaderText="Last Name" />
                    <asp:BoundField DataField="UserName" HeaderText="User Name" />
                    <asp:BoundField DataField="Password" HeaderText="Password" />
                    <asp:BoundField DataField="Birthdate" HeaderText="Birthdate" />
                    <asp:BoundField DataField="Address" HeaderText="Address" />
                    <asp:BoundField DataField="Apt" HeaderText="Apt" />
                    <asp:BoundField DataField="City" HeaderText="City" />
                    <asp:BoundField DataField="Province" HeaderText="Province" />
                    <asp:BoundField DataField="PostalCode" HeaderText="PostalCode" />
                    <asp:BoundField DataField="PhoneNum" HeaderText="PhoneNum" />
                    <asp:BoundField DataField="Email" HeaderText="Email" />
                    <asp:BoundField DataField="ynAdminUser" HeaderText="ynAdminUser" />
                    <asp:CommandField ShowDeleteButton="False" ShowEditButton="True"     ShowInsertButton="True" />
>
                </Fields>
            </asp:DetailsView>
                <asp:ObjectDataSource ID="ObjectDataSource1"
                    runat="server" SelectMethod="Load" TypeName="cUser">
                    <SelectParameters>
                        <asp:ControlParameter ControlID="gvUsers" PropertyName="SelectedValue" Name="iUserID" Type="int32" />
                    </SelectParameters>
                </asp:ObjectDataSource>

Есть ли способ сделать то, что я пытаюсь достичь? если да, не могли бы вы привести примеры с объяснением?

Очень ценится. Спасибо

1 Ответ

0 голосов
/ 16 ноября 2009

Вы должны проверить этот учебник для получения подробной справки ....

Master / Detail, используя выбираемый основной GridView с подробным ViewView

...