Udostępnij za pomocą


Wyświetlanie danych za pomocą kontrolki ObjectDataSource (C#)

Autor : Scott Mitchell

Pobierz plik PDF

W tym samouczku przedstawiono kontrolkę ObjectDataSource Korzystając z tej kontrolki, możesz powiązać dane pobrane z biblioteki BLL utworzonej w poprzednim samouczku bez konieczności pisania wiersza kodu.

Wprowadzenie

Po zakończeniu tworzenia architektury aplikacji i układu strony witryny internetowej możemy rozpocząć eksplorowanie różnych typowych zadań związanych z danymi i raportowaniem. W poprzednich samouczkach widzieliśmy, jak programowo powiązać dane z DAL i BLL z kontrolką danych Web na stronie ASP.NET. Ta składnia przypisująca kontrolce sieci Web właściwość danych do wyświetlania, a następnie wywołująca jej metodę DataSource, DataBind(), była wzorcem używanym w aplikacjach ASP.NET 1.x i może nadal być używana w aplikacjach 2.0. Jednak nowe kontrolki źródła danych ASP.NET 2.0 oferują deklaratywny sposób pracy z danymi. Za pomocą tych kontrolek można powiązać dane pobrane z biblioteki BLL utworzonej w poprzednim samouczku bez konieczności pisania wiersza kodu.

ASP.NET 2.0 jest dostarczany z pięcioma wbudowanymi kontrolkami źródeł danych: SqlDataSource, AccessDataSource, ObjectDataSource, XmlDataSource i SiteMapDataSource. W razie potrzeby można jednak zbudować własne, niestandardowe kontrolki źródła danych. Ponieważ opracowaliśmy architekturę dla naszej aplikacji szkoleniowej, będziemy używać ObjectDataSource do naszych klas BLL.

ASP.NET 2.0 zawiera pięć kontrolek źródła danych Built-In

Rysunek 1. ASP.NET 2.0 zawiera pięć kontrolek źródła danych Built-In

Obiekt ObjectDataSource służy jako serwer proxy do pracy z innym obiektem. Aby skonfigurować obiekt ObjectDataSource, określamy ten bazowy obiekt oraz sposób mapowania jego metod na metody ObjectDataSource: Select, Insert, Update i Delete. Po określeniu tego obiektu bazowego i jego metodach zamapowanych na obiekt ObjectDataSource możemy powiązać obiekt ObjectDataSource z kontrolką sieci Web danych. ASP.NET jest dostarczany z wieloma kontrolkami danych sieci Web, w tym GridView, DetailsView, RadioButtonList i DropDownList, oraz innymi. Podczas cyklu życia strony kontrolka danych sieci Web może potrzebować dostępu do danych, z którymi jest powiązana, co osiągnie przez wywołanie metody Select na ObjectDataSource. Jeśli kontrolka danych sieci Web obsługuje wstawianie, aktualizowanie lub usuwanie, mogą być wywoływane metody Insert, Update lub Delete tego samego ObjectDataSource. Te wywołania są następnie kierowane przez obiekt ObjectDataSource do odpowiednich metod obiektu bazowego, jak pokazano na poniższym diagramie.

ObiektDataSource służy jako serwer proxy

Rysunek 2. ObiektDataSource służy jako serwer proxy (kliknij, aby wyświetlić obraz o pełnym rozmiarze)

Chociaż ObjectDataSource może służyć do wywoływania metod wstawiania, aktualizowania lub usuwania danych, skoncentrujmy się na zwracaniu danych; przyszłe samouczki będą badać korzystanie z kontrolki ObjectDataSource i kontrolek danych sieci Web, które modyfikują dane.

Krok 1. Dodawanie i konfigurowanie kontrolki ObjectDataSource

Zacznij od otwarcia SimpleDisplay.aspx strony w folderze BasicReporting , przełącz się do widoku projektu, a następnie przeciągnij kontrolkę ObjectDataSource z przybornika na powierzchnię projektową strony. Obiekt ObjectDataSource jest wyświetlany jako szare pole na powierzchni projektowej, ponieważ nie generuje żadnych znaczników; po prostu uzyskuje dostęp do danych, wywołując metodę z określonego obiektu. Dane zwrócone przez obiekt ObjectDataSource mogą być wyświetlane przez kontrolkę sieci Web danych, taką jak GridView, DetailsView, FormView itd.

Uwaga / Notatka

Alternatywnie możesz najpierw dodać kontrolkę danych sieci Web do strony, a następnie z poziomu tagu inteligentnego wybrać <opcję Nowe źródło danych> z listy rozwijanej.

Aby określić obiekt źródłowy obiektu ObjectDataSource i sposób mapowania metod tego obiektu na obiekt ObjectDataSource, kliknij link Konfiguruj źródło danych z tagu inteligentnego ObjectDataSource.

Kliknij link konfigurowania źródła danych z tagu Smart

Rysunek 3. Kliknij link „Konfiguruj źródło danych” znajdujący się w tagu inteligentnym (Kliknij, aby wyświetlić obraz o pełnym rozmiarze)

Spowoduje to wyświetlenie Kreatora konfigurowania źródła danych. Najpierw musimy określić obiekt, z który ma pracować obiekt ObjectDataSource. Jeśli pole wyboru "Pokaż tylko składniki danych" jest zaznaczone, lista rozwijana na tym ekranie zawiera tylko te obiekty, które zostały ozdobione atrybutem DataObject . Obecnie nasza lista zawiera klasy TableAdapters w typowanym zestawie danych i klasach BLL utworzonych w poprzednim samouczku. Jeśli nie pamiętasz dodawania atrybutu DataObject do klas warstwy logiki biznesowej, nie będą one widoczne na tej liście. W takim przypadku usuń zaznaczenie pola wyboru "Pokaż tylko składniki danych", aby wyświetlić wszystkie obiekty, które powinny zawierać klasy BLL (wraz z innymi klasami w typowanym zestawie danych DataTables, DataRows itd.).

Na tym pierwszym ekranie wybierz klasę ProductsBLL z listy rozwijanej, a następnie kliknij przycisk Dalej.

Określanie obiektu do użycia z kontrolką ObjectDataSource

Rysunek 4. Określanie obiektu do użycia z kontrolką ObjectDataSource (kliknij, aby wyświetlić obraz o pełnym rozmiarze)

Następny ekran w kreatorze wyświetla monit o wybranie metody wywoływanej przez obiekt ObjectDataSource. Lista rozwijana zawiera te metody, które zwracają dane w obiekcie wybranym z poprzedniego ekranu. W tym miejscu widzimy GetProductByProductID, GetProducts, GetProductsByCategoryID i GetProductsBySupplierID. Wybierz metodę GetProducts z listy rozwijanej i kliknij Zakończ (jeśli dodałeś metodę DataObjectMethodAttribute do metod ProductBLL, jak pokazano w poprzednim samouczku, ta opcja zostanie wybrana domyślnie).

Wybierz metodę zwracania danych z karty SELECT

Rysunek 5. Wybierz metodę zwracania danych z karty SELECT (Kliknij, aby wyświetlić obraz o pełnym rozmiarze)

Ręczne konfigurowanie obiektu ObjectDataSource

Kreator konfigurowania źródła danych ObjectDataSource umożliwia szybkie określenie, z jakiego obiektu korzysta, oraz skojarzenie, które metody tego obiektu są wywoływane. Można jednak skonfigurować obiekt ObjectDataSource za pomocą jego właściwości za pośrednictwem okna Właściwości lub bezpośrednio w znaczniku deklaratywnego. Po prostu ustaw TypeName właściwość na typ obiektu bazowego, który ma być używany, oraz SelectMethod metodę do wywołania podczas pobierania danych.

<asp:ObjectDataSource ID="ObjectDataSource1" runat="server"
    SelectMethod="GetProducts" TypeName="ProductsBLL">
</asp:ObjectDataSource>

Nawet jeśli wolisz kreatora Konfigurowania źródła danych, może wystąpić potrzeba ręcznego skonfigurowania obiektu ObjectDataSource, ponieważ kreator wyświetla tylko klasy utworzone przez dewelopera. Jeśli chcesz powiązać obiekt ObjectDataSource z klasą w programie .NET Framework, takim jak klasa Członkostwa, aby uzyskać dostęp do informacji o koncie użytkownika, lub klasę Katalog do pracy z informacjami o systemie plików, musisz ręcznie ustawić właściwości obiektu ObjectDataSource.

Krok 2. Dodawanie kontrolki sieci Web danych i powiązanie jej z obiektem ObjectDataSource

Po dodaniu obiektu ObjectDataSource do strony i skonfigurowaniu możemy dodać kontrolki sieci Web danych do strony, aby wyświetlić dane zwrócone przez metodę ObjectDataSource Select . Dowolna kontrolka danych w sieci Web może być powiązana z ObjectDataSource; Przyjrzyjmy się wyświetlaniu danych z ObjectDataSource w widokach GridView, DetailsView i FormView.

Wiązanie kontrolki GridView z obiektem ObjectDataSource

Dodaj kontrolkę GridView z przybornika do SimpleDisplay.aspxpowierzchni projektowej. W tagu inteligentnym gridView wybierz kontrolkę ObjectDataSource dodaną w kroku 1. Spowoduje to automatyczne utworzenie BoundField w GridView dla każdej właściwości zwróconej przez dane z metody źródła danych ObjectDataSource Select (czyli właściwości zdefiniowanych przez tabelę Products DataTable).

Element GridView został dodany do strony i powiązany z obiektem ObjectDataSource

Rysunek 6. Element GridView został dodany do strony i powiązany z obiektem ObjectDataSource (kliknij, aby wyświetlić obraz pełnowymiarowy)

Następnie możesz dostosować, przearanżować lub usunąć BoundFields widoku siatkowego, klikając opcję Edytuj kolumny z tagu inteligentnego.

Zarządzanie polami boundFields kontrolki GridView za pomocą okna dialogowego Edytowanie kolumn

Rysunek 7: Zarządzanie BoundFields w GridView za pomocą okna dialogowego Zmień kolumny (kliknij, aby zobaczyć obraz w pełnym rozmiarze)

Poświęć chwilę, aby zmodyfikować pola BoundFields kontrolki GridView, usuwając BoundFields ProductID, SupplierID, CategoryID, QuantityPerUnit, UnitsInStock, UnitsOnOrder i ReorderLevel. Po prostu wybierz pole BoundField z listy w lewym dolnym rogu i kliknij przycisk usuwania (czerwony X), aby je usunąć. Następnie zmień kolejność pól BoundField, tak aby pola CategoryName i SupplierName poprzedzały pole UnitPrice, wybierając te pola BoundField i klikając strzałkę w górę. HeaderText Ustaw właściwości pozostałych pól BoundFields odpowiednio na Products, Category, Supplieri Price. Następnie sformatuj Price BoundField jako walutę, ustawiając właściwość BoundField HtmlEncode na False i właściwość DataFormatString na {0:c}. Na koniec wyrównaj Price do prawej strony i Discontinued pole wyboru w środku za pomocą właściwości ItemStyle/HorizontalAlign.

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
    DataKeyNames="ProductID" DataSourceID="ObjectDataSource1"
    EnableViewState="False">
    <Columns>
        <asp:BoundField DataField="ProductName"
         HeaderText="Product" SortExpression="ProductName" />
        <asp:BoundField DataField="CategoryName"
          HeaderText="Category" ReadOnly="True"
          SortExpression="CategoryName" />
        <asp:BoundField DataField="SupplierName"
          HeaderText="Supplier" ReadOnly="True"
          SortExpression="SupplierName" />
        <asp:BoundField DataField="UnitPrice"
          DataFormatString="{0:c}" HeaderText="Price"
            HtmlEncode="False" SortExpression="UnitPrice">
            <ItemStyle HorizontalAlign="Right" />
        </asp:BoundField>
        <asp:CheckBoxField DataField="Discontinued"
          HeaderText="Discontinued" SortExpression="Discontinued">
            <ItemStyle HorizontalAlign="Center" />
        </asp:CheckBoxField>
    </Columns>
</asp:GridView>

Pola granic kontrolki GridView zostały dostosowane

Rysunek 8. Dostosowanie pól boundFields kontrolki GridView (kliknij, aby wyświetlić obraz o pełnym rozmiarze)

Używanie motywów do spójnego wyglądu

Te samouczki starają się usunąć wszystkie ustawienia stylu na poziomie kontroli, zamiast tego używać kaskadowych arkuszy stylów zdefiniowanych w pliku zewnętrznym, gdy jest to możliwe. Plik Styles.css zawiera klasy DataWebControlStyle, HeaderStyle, RowStyle i AlternatingRowStyle CSS, które powinny być używane do określania wyglądu kontrolek danych sieci Web używanych w tych samouczkach. Aby to osiągnąć, możemy ustawić właściwość CssClass elementu GridView na DataWebControlStyle, a właściwości HeaderStyle, RowStyle i AlternatingRowStyle jego właściwości CssClass odpowiednio.

Jeśli ustawimy te CssClass właściwości w kontrolce Web, należy pamiętać, aby jawnie ustawić te wartości właściwości dla każdej kontrolki Web danych dodanej do naszych samouczków. Bardziej zarządzalnym podejściem jest zdefiniowanie domyślnych właściwości związanych z CSS dla kontrolek GridView, DetailsView i FormView przy użyciu Motywu. Motyw to kolekcja ustawień właściwości na poziomie sterowania, obrazów i klas CSS, które można zastosować do stron w witrynie w celu wymuszania wspólnego wyglądu i działania.

Nasz motyw nie będzie zawierać żadnych obrazów ani plików CSS (pozostawimy arkusz Styles.css stylów as-is, zdefiniowany w folderze głównym aplikacji internetowej), ale będzie zawierać dwie skórki. Skin to plik, który definiuje domyślne właściwości kontrolki sieci Web. W szczególności będziemy mieć plik skin dla kontrolek GridView i DetailsView, wskazujący domyślne właściwości związane z CssClass.

Zacznij od dodania nowego pliku skóry do projektu o nazwie GridView.skin , klikając prawym przyciskiem myszy nazwę projektu w Eksploratorze rozwiązań i wybierając polecenie Dodaj nowy element.

Dodawanie pliku skóry o nazwie GridView.skin

Rysunek 9. Dodawanie pliku skóry o nazwie GridView.skin (kliknij, aby wyświetlić obraz o pełnym rozmiarze)

Pliki skóry należy umieścić w motywie graficznym znajdującym się w folderze App_Themes. Ponieważ nie mamy jeszcze takiego folderu, Visual Studio uprzejmie zaproponuje utworzenie go dla nas podczas dodawania naszej pierwszej skórki. Kliknij przycisk Tak, aby utworzyć App_Theme folder i umieścić tam nowy GridView.skin plik.

Zezwalaj programowi Visual Studio na tworzenie folderu App_Theme

Rysunek 10. Zezwalaj programowi Visual Studio na tworzenie App_Theme folderu (kliknij, aby wyświetlić obraz o pełnym rozmiarze)

Spowoduje to utworzenie nowego motywu w folderze App_Themes o nazwie GridView z plikiem Skin GridView.skin.

Motyw GridView został dodany do folderu App_Theme

Rysunek 11. Motyw GridView został dodany do App_Theme folderu

Zmień nazwę motywu GridView na DataWebControls (kliknij prawym przyciskiem myszy folder GridView w folderze App_Theme i wybierz polecenie Zmień nazwę). Następnie wprowadź następujący znacznik w GridView.skin pliku:

<asp:GridView runat="server" CssClass="DataWebControlStyle">
   <AlternatingRowStyle CssClass="AlternatingRowStyle" />
   <RowStyle CssClass="RowStyle" />
   <HeaderStyle CssClass="HeaderStyle" />
</asp:GridView>

Definiuje domyślne właściwości związane z CssClass dla dowolnego obiektu GridView na każdej stronie, która używa motywu DataWebControls. Dodajmy kolejny element Skin dla kontrolki DetailsView, kontrolki danych Web, która wkrótce będzie używana. Dodaj nową skórę do motywu DataWebControls o nazwie DetailsView.skin i dodaj następujący znacznik:

<asp:DetailsView runat="server" CssClass="DataWebControlStyle">
   <AlternatingRowStyle CssClass="AlternatingRowStyle" />
   <RowStyle CssClass="RowStyle" />
   <FieldHeaderStyle CssClass="HeaderStyle" />
</asp:DetailsView>

Po zdefiniowaniu motywu ostatnim krokiem jest zastosowanie motywu do naszej strony ASP.NET. Motyw można stosować na każdą stronę z osobna lub dla wszystkich stron na stronie internetowej. Użyjmy tego motywu dla wszystkich stron w witrynie internetowej. Aby to zrobić, dodaj następujący znacznik do sekcji Web.config: <system.web>.

<pages styleSheetTheme="DataWebControls" />

To wszystko! Ustawienie styleSheetTheme wskazuje, że właściwości określone w motywie nie powinny zastępować właściwości określonych na poziomie kontrolki. pl-PL: Aby określić, że ustawienia motywu powinny mieć priorytet nad ustawieniami kontrolki, użyj atrybutu theme zamiast styleSheetTheme; niestety ustawienia motywu ustalone za pomocą atrybutu theme nie pojawiają się w widoku projektu programu Visual Studio. Aby ASP.NET uzyskać więcej informacji na temat motywów i skórek, zobacz Omówienie motywów iServer-Side Style przy użyciu motywów , aby uzyskać więcej informacji na temat motywów i skórek; Zobacz Instrukcje: stosowanie motywów ASP.NET , aby uzyskać więcej informacji na temat konfigurowania strony do używania motywu.

GridView wyświetla nazwę produktu, kategorię, dostawcę, cenę i informacje o wycofaniu

Rysunek 12. Widok GridView wyświetla nazwę produktu, kategorię, dostawcę, cenę i wycofane informacje (kliknij, aby wyświetlić obraz pełnowymiarowy)

Wyświetlanie jednego rekordu jednocześnie w widoku DetailsView

Kontrolka GridView wyświetla jeden wiersz dla każdego rekordu zwróconego przez kontrolkę źródła danych, do której jest powiązana. Czasami jednak możemy chcieć wyświetlić jedyny rekord lub tylko jeden rekord naraz. Kontrolka DetailsView oferuje tę funkcję, renderuje jako kod HTML <table> z dwiema kolumnami i jednym wierszem dla każdej kolumny lub właściwości powiązanej z kontrolką. Widok DetailsView można traktować jak GridView z pojedynczym rekordem obróconym o 90 stopni.

Zacznij od dodania kontrolki DetailsView powyżej kontrolki GridView w elemencie SimpleDisplay.aspx. Następnie powiąż ją z tą samą kontrolką ObjectDataSource co GridView. Podobnie jak w przypadku kontrolki GridView, pole BoundField zostanie dodane do kontrolki DetailsView dla każdej właściwości w obiekcie zwróconym przez metodę ObjectDataSourceSelect. Jedyną różnicą jest to, że pola BoundField elementu DetailsView są ułożone w poziomie, a nie w pionie.

Dodawanie kontrolki DetailsView do strony i wiązanie jej z obiektem ObjectDataSource

Rysunek 13. Dodawanie kontrolki DetailsView do strony i powiązanie jej z obiektem ObjectDataSource (kliknij, aby wyświetlić obraz o pełnym rozmiarze)

Podobnie jak w przypadku kontrolki GridView, można dostosować pola BoundFields elementu DetailsView w celu zapewnienia bardziej dostosowanego wyświetlania danych zwracanych przez obiekt ObjectDataSource. Rysunek 14 przedstawia element DetailsView po skonfigurowaniu jego właściwości BoundFields oraz CssClass w taki sposób, aby jego wygląd był zbliżony do przykładu GridView.

Kontrolka DetailsView pokazuje pojedynczy rekord

Rysunek 14. Widok Szczegółów przedstawia pojedynczy rekord (kliknij, aby wyświetlić obraz o pełnym rozmiarze)

Należy pamiętać, że kontrolka DetailsView wyświetla tylko pierwszy rekord zwrócony przez źródło danych. Aby umożliwić użytkownikowi przechodzenie przez wszystkie rekordy, jeden po drugim, musimy włączyć stronicowanie widoku szczegółów. W tym celu wróć do programu Visual Studio i zaznacz pole wyboru Włącz stronicowanie w tagu inteligentnym DetailsView.

Włączanie stronicowania w kontrolce DetailsView

Rysunek 15. Włączanie stronicowania w kontrolce DetailsView (Kliknij, aby wyświetlić obraz pełnowymiarowy)

Po włączeniu stronicowania kontrolka DetailsView umożliwia użytkownikowi wyświetlanie dowolnego produktu

Rysunek 16. Po włączeniu stronicowania kontrolka DetailsView umożliwia użytkownikowi wyświetlanie dowolnych produktów (kliknij, aby wyświetlić obraz o pełnym rozmiarze)

Więcej informacji o stronicowaniu będziemy omawiać w przyszłych samouczkach.

Bardziej elastyczny układ wyświetlania jednego rekordu jednocześnie

Element DetailsView jest dość sztywny w sposobie wyświetlania każdego rekordu zwróconego z obiektu ObjectDataSource. Możemy chcieć uzyskać bardziej elastyczny widok danych. Na przykład zamiast pokazywać nazwę produktu, kategorię, dostawcę, cenę i informacje o zaprzestaniu na osobnych wierszach, możemy pokazać nazwę produktu i cenę w <h4> nagłówku, z kategorią i informacjami o dostawcy wyświetlanymi poniżej nazwy i ceny, w mniejszym rozmiarze czcionki. Nie możemy też pokazać nazw właściwości (Product, Category itd.) obok wartości.

Kontrolka FormView zapewnia ten poziom dostosowywania. Zamiast używać pól (takich jak GridView i DetailsView), FormView używa szablonów, które umożliwiają mieszanie kontrolek sieci Web, statycznego HTML i składni powiązania danych. Jeśli znasz kontrolkę Repeater z ASP.NET 1.x, możesz traktować element FormView jako repeater do wyświetlania pojedynczego rekordu.

Dodaj kontrolkę FormView do powierzchni projektowej SimpleDisplay.aspx strony. Początkowo FormView jest wyświetlany jako szary blok, informując nas, że musimy podać przynajmniej kontrolkę ItemTemplate.

Element FormView musi zawierać element ItemTemplate

Rysunek 17. Element FormView musi zawierać element ItemTemplate (kliknij, aby wyświetlić obraz o pełnym rozmiarze)

Widok FormView można powiązać bezpośrednio z kontrolką źródła danych za pomocą tagu inteligentnego FormView, co spowoduje automatyczne utworzenie wartości domyślnej ItemTemplate (wraz z EditItemTemplate i InsertItemTemplate, jeśli właściwości InsertMethod i UpdateMethod kontrolki ObjectDataSource są ustawione). Jednak w tym przykładzie powiążmy dane z elementem FormView i określimy je ItemTemplate ręcznie. Zacznij od ustawienia właściwości DataSourceID kontrolki FormView na kontrolkę ObjectDataSource ID. ObjectDataSource1 Następnie utwórz element ItemTemplate w taki sposób, aby wyświetlał nazwę i cenę produktu w elemecie <h4> oraz nazwy kategorii i nadawcy poniżej w mniejszym rozmiarze czcionki.

<asp:FormView ID="FormView1" runat="server"
  DataSourceID="ObjectDataSource1" EnableViewState="False">
    <ItemTemplate>
        <h4><%# Eval("ProductName") %>
          (<%# Eval("UnitPrice", "{0:c}") %>)</h4>
        Category: <%# Eval("CategoryName") %>;
        Supplier: <%# Eval("SupplierName") %>
    </ItemTemplate>
</asp:FormView>

Pierwszy produkt (Chai) jest wyświetlany w formacie niestandardowym

Rysunek 18. Pierwszy produkt (Chai) jest wyświetlany w formacie niestandardowym (kliknij, aby wyświetlić obraz pełnowymiarowy)

To <%# Eval(propertyName) %> jest składnia powiązania danych. Metoda Eval zwraca wartość określonej właściwości dla bieżącego obiektu powiązanego z kontrolką FormView. Zapoznaj się z artykułem Alexa Homera, "Uproszczone i rozszerzone powiązania danych w ASP.NET 2.0", aby dowiedzieć się więcej na temat tajników powiązania danych.

Podobnie jak w przypadku kontrolki DetailsView, kontrolka FormView wyświetla tylko pierwszy rekord zwrócony z obiektu ObjectDataSource. Możesz włączyć stronicowanie w widoku FormView, aby umożliwić odwiedzającym przechodzenie przez produkty pojedynczo.

Podsumowanie

Uzyskiwanie dostępu do i wyświetlanie danych z warstwy logiki biznesowej można wykonać bez konieczności pisania wiersza kodu dzięki kontrolce ObjectDataSource ASP.NET 2.0. Obiekt ObjectDataSource wywołuje określoną metodę klasy i zwraca wyniki. Te wyniki można wyświetlić w kontrolce sieci Web danych powiązanej z obiektem ObjectDataSource. W tym samouczku przyjrzeliśmy się powiązaniu kontrolek GridView, DetailsView i FormView z obiektem ObjectDataSource.

Do tej pory widzieliśmy tylko, jak za pomocą obiektu ObjectDataSource wywołać metodę bez parametrów, ale co zrobić, jeśli chcemy wywołać metodę, która oczekuje parametrów wejściowych, takich jak ProductBLL klasa GetProductsByCategoryID(categoryID)? Aby wywołać metodę, która oczekuje co najmniej jednego parametru, musimy skonfigurować obiekt ObjectDataSource, aby określić wartości tych parametrów. Zobaczymy, jak to zrobić w następnym samouczku.

Szczęśliwe programowanie!

Dalsza lektura

Aby uzyskać więcej informacji na temat tematów omówionych w tym samouczku, zapoznaj się z następującymi zasobami:

Informacje o autorze

Scott Mitchell, autor siedmiu książek ASP/ASP.NET i założyciel 4GuysFromRolla.com, współpracuje z technologiami internetowymi firmy Microsoft od 1998 roku. Scott pracuje jako niezależny konsultant, trener i pisarz. Jego najnowsza książka to Sams Teach Yourself ASP.NET 2.0 w ciągu 24 godzin. Można go uzyskać pod adresem mitchell@4GuysFromRolla.com.

Specjalne podziękowania

Ta seria samouczków została omówiona przez wielu przydatnych recenzentów. Główny recenzent tego samouczka to Hilton Giesenow. Chcesz przejrzeć nadchodzące artykuły MSDN? Jeśli tak, napisz do mnie na adres mitchell@4GuysFromRolla.com.