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

przez Scott Mitchell

Pobierz przykładową aplikację lub Pobierz plik PDF

Ten samouczek przegląda kontrolkę ObjectDataSource przy użyciu tej kontrolki. można powiązać dane pobierane z LOGIKI biznesowej utworzonych w poprzednim samouczku bez konieczności pisania wiersza kodu.

Wprowadzenie

Dzięki naszej architekturze aplikacji i układowi strony witryny sieci Web jesteśmy gotowi do rozpoczęcia eksplorowania sposobu wykonywania różnych typowych zadań związanych z danymi i raportowaniem. W poprzednich samouczkach zaobserwowano, jak programowo powiązać dane z DAL i LOGIKI biznesowej do kontrolki sieci Web danych na stronie ASP.NET. Ta składnia przypisuje Właściwość DataSource formantu sieci Web danych do danych do wyświetlenia, a następnie wywołująca metodę DataBind() formantu była wzorcem używanym w aplikacjach ASP.NET 1. x i mogą być nadal używane w aplikacjach 2,0. Jednak nowe kontrolki źródła danych w programie ASP.NET 2.0 oferują deklaratywny sposób pracy z danymi. Za pomocą tych kontrolek można powiązać dane pobierane z LOGIKI biznesowej utworzonych w poprzednim samouczku bez konieczności pisania wiersza kodu.

ASP.NET 2,0 jest dostarczany z pięcioma wbudowanymi formantami źródła danych kontrolki SqlDataSource, AccessDataSource, ObjectDataSource, XmlDataSourcei SiteMapDataSource , chociaż można utworzyć własne niestandardowe kontrolki źródła danych, jeśli jest to konieczne. Ponieważ opracowano architekturę naszej aplikacji samouczka, użyjemy elementu ObjectDataSource względem naszych klas LOGIKI biznesowej.

ASP.NET 2,0 obejmuje pięć wbudowanych kontrolek źródła danych

Rysunek 1: ASP.NET 2,0 zawiera pięć wbudowanych kontrolek źródła danych

Element ObjectDataSource służy jako serwer proxy do pracy z innym obiektem. Aby skonfigurować element ObjectDataSource, należy określić ten obiekt źródłowy i sposób mapowania metod na Select, Insert, Updatei Delete elementu ObjectDataSource. Po określeniu tego obiektu bazowego i jego metodach zamapowanych na element ObjectDataSource można powiązać ten element ObjectDataSource z kontrolką sieci Web danych. ASP.NET dostarcza z wieloma kontrolkami sieci Web danych, w tym GridView, DetailsView, RadioButtonList i DropDownList, między innymi. Podczas cyklu życia strony kontrolka sieci Web danych może potrzebować dostępu do danych, które są związane z tym, co zostanie wykonane przez wywołanie metody Select elementu ObjectDataSource; Jeśli formant sieci Web danych obsługuje wstawianie, aktualizowanie lub usuwanie, wywołania mogą być wykonywane na Insertmetodach, Updatelub Delete elementu ObjectDataSource. Te wywołania są następnie kierowane przez element ObjectDataSource do odpowiednich metod obiektu źródłowego, jak pokazano na poniższym diagramie.

element ObjectDataSource służy jako serwer proxy

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

Chociaż element ObjectDataSource może służyć do wywoływania metod wstawiania, aktualizowania lub usuwania danych, należy skupić się na zwracaniu danych. w przyszłości samouczki zostaną omówione przy użyciu kontrolek typu ObjectDataSource i Data sieci Web, które modyfikują dane.

Krok 1. Dodawanie i Konfigurowanie kontrolki ObjectDataSource

Aby rozpocząć, Otwórz stronę SimpleDisplay.aspx w folderze BasicReporting, przejdź do widok Projekt, a następnie przeciągnij kontrolkę ObjectDataSource z przybornika na powierzchnię projektu strony. Element ObjectDataSource pojawia się jako szare pole na powierzchni projektowej, ponieważ nie produkuje żadnego znacznika; po prostu uzyskuje dostęp do danych przez wywołanie metody z określonego obiektu. Dane zwrócone przez element ObjectDataSource mogą być wyświetlane przez formant sieci Web danych, taki jak GridView, DetailsView, FormView i tak dalej.

Note

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

Aby określić obiekt źródłowy elementu ObjectDataSource i sposób, w jaki metody tego obiektu są mapowane na element ObjectDataSource, kliknij link Konfiguruj źródło danych z tagu inteligentnego elementu ObjectDataSource.

kliknij link Konfiguruj źródło danych z tagu inteligentnego

Rysunek 3. Kliknij link Konfiguruj źródło danych z tagu inteligentnego (kliknij, aby wyświetlić obraz o pełnym rozmiarze)

Spowoduje to wyświetlenie Kreatora konfiguracji źródła danych. Najpierw należy określić obiekt, z którym ma współpracować element ObjectDataSource. Jeśli zaznaczone jest pole wyboru "Pokaż tylko składniki danych", na liście rozwijanej na tym ekranie są wyświetlane tylko te obiekty, które zostały uzupełnione atrybutem DataObject. Obecnie nasza lista zawiera TableAdapters w określonym zestawie danych i klasy LOGIKI biznesowej utworzone w poprzednim samouczku. Jeśli nie pamiętasz dodać 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 LOGIKI biznesowej (wraz z innymi klasami w określonym zestawie danych, tabelami, danymi i tak dalej).

Na pierwszym ekranie wybierz z listy rozwijanej klasę ProductsBLL i kliknij przycisk Dalej.

określić obiektu do użycia z kontrolką ObjectDataSource

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

Na następnym ekranie kreatora zostanie wyświetlony komunikat z prośbą o wybranie metody, którą element ObjectDataSource powinien wywołać. Lista rozwijana zawiera te metody, które zwracają dane w obiekcie wybranym z poprzedniego ekranu. Tutaj widzimy GetProductByProductID, GetProducts, GetProductsByCategoryIDi GetProductsBySupplierID. Wybierz z listy rozwijanej metodę GetProducts i kliknij przycisk Zakończ (Jeśli dodano DataObjectMethodAttribute do metod ProductBLL, jak pokazano w poprzednim samouczku, ta opcja zostanie wybrana domyślnie).

wybrać metodę zwracania danych z karty Wybieranie

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

Ręczne konfigurowanie elementu ObjectDataSource

Kreator konfiguracji źródła danych elementu ObjectDataSource umożliwia szybkie określenie obiektu, który używa, i kojarzenie metod wywoływanych przez obiekt. Można jednak skonfigurować element ObjectDataSource za pomocą jego właściwości, za pomocą okno Właściwości lub bezpośrednio w znacznikach deklaratywnych. Po prostu ustaw właściwość TypeName na typ obiektu źródłowego, który ma być używany, i SelectMethod do metody 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 się okazać, że trzeba ręcznie skonfigurować element ObjectDataSource, ponieważ Kreator wyświetla tylko klasy utworzone przez dewelopera. Jeśli chcesz powiązać element ObjectDataSource z klasą w .NET Framework, takich jak Klasa Membership, aby uzyskać dostęp do informacji o koncie użytkownika lub Klasa katalogu do pracy z informacjami o systemie plików, musisz ręcznie ustawić właściwości elementu ObjectDataSource.

Krok 2. Dodawanie kontrolki sieci Web danych i powiązywanie jej z elementem ObjectDataSource

Gdy element ObjectDataSource zostanie dodany do strony i skonfigurowany, będzie można dodać do strony kontrolki sieci Web danych, aby wyświetlić dane zwrócone przez metodę Select elementu ObjectDataSource. Każda kontrolka sieci Web danych może być powiązana z elementem ObjectDataSource; Przyjrzyjmy się wyświetlaniu danych elementu ObjectDataSource w widoku GridView, DetailsView i FormView.

Powiązywanie widoku GridView z elementem ObjectDataSource

Dodaj kontrolkę GridView z przybornika do powierzchni projektowej SimpleDisplay.aspx. W tagu inteligentnym GridView Wybierz kontrolkę ObjectDataSource dodaną w kroku 1. Spowoduje to automatyczne utworzenie BoundField w widoku GridView dla każdej właściwości zwróconej przez dane z metody Select elementu ObjectDataSource (tj. właściwości zdefiniowanych przez produkty DataTable).

element GridView został dodany do strony i powiązany z elementem ObjectDataSource

Ilustracja 6. widok GridView został dodany do strony i powiązany z elementem ObjectDataSource (kliknij, aby wyświetlić obraz o pełnym rozmiarze)

Następnie można dostosować, zmienić rozmieszczenie lub usunąć BoundFields GridView, klikając opcję Edytuj kolumny w tagu inteligentnym.

zarządzać BoundFieldsą widoku GridView za pomocą okna dialogowego Edytowanie kolumn

Rysunek 7. Zarządzanie BoundFieldsami w widoku GridView za pomocą okna dialogowego Edytowanie kolumn (kliknij, aby wyświetlić obraz o pełnym rozmiarze)

Poświęć chwilę, aby zmodyfikować BoundFields GridView, usuwając ProductID, SupplierID, CategoryID, QuantityPerUnit, UnitsInStock, UnitsOnOrderi ReorderLevel BoundFields. Po prostu wybierz pozycję BoundField z listy w lewym dolnym rogu, a następnie kliknij przycisk Usuń (czerwony symbol X), aby je usunąć. Następnie Zmień rozmieszczenie BoundFields tak, aby CategoryName i SupplierName BoundFields poprzedzać UnitPrice BoundField, wybierając te BoundFields i klikając strzałkę w górę. Ustaw właściwości HeaderText pozostałej BoundFields na odpowiednio Products, Category, Supplieri Price. Następnie Price BoundField sformatowana jako waluta, ustawiając właściwość HtmlEncode BoundField na false i jej Właściwość DataFormatString na {0:c}. Na koniec Wyrównaj Price do prawej Discontinued i pola wyboru w centrum za pośrednictwem 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>

BoundFields GridView został dostosowany

Ilustracja 8. BoundFields GridView został dostosowany (kliknij, aby wyświetlić obraz w pełnym rozmiarze)

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

Te samouczki dążą do usuwania wszelkich ustawień stylu na poziomie kontroli zamiast używania kaskadowych arkuszy stylów zdefiniowanych w pliku zewnętrznym, gdy jest to możliwe. Plik Styles.css zawiera klasy CSS DataWebControlStyle, HeaderStyle, RowStylei AlternatingRowStyle, które powinny być używane do dyktowania wyglądu formantów sieci Web danych używanych w tych samouczkach. Aby to osiągnąć, można ustawić właściwość CssClass widoku GridView na DataWebControlStyle, a jej właściwości HeaderStyle, RowStylei AlternatingRowStyle CssClass odpowiednio.

Jeśli ustawimy te CssClass właściwości w formancie sieci Web, musimy pamiętać, aby jawnie ustawić te wartości właściwości dla każdej kontrolki sieci Web, która została dodana do naszych samouczków. Bardziej zarządzanym 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 zbiór ustawień właściwości, obrazów i klas CSS na poziomie formantu, które mogą być stosowane do stron w witrynie w celu wymuszenia wspólnego wyglądu i działania.

Nasz motyw nie będzie zawierać żadnych obrazów ani plików CSS (arkusz stylów zostanie pozostawiony Styles.css tak, jak jest zdefiniowany w folderze głównym aplikacji sieci Web), ale będzie zawierać dwie karnacje. Karnacja to plik, który definiuje domyślne właściwości kontrolki sieci Web. W odniesieniu do kontrolek GridView i DetailsView zawieramy plik skórki, wskazujący domyślne właściwości dotyczące CssClass.

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

dodać pliku skórki o nazwie GridView. skórka

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

Pliki skórki muszą być umieszczone w motywie, które znajdują się w folderze App_Themes. Ponieważ nie mamy jeszcze takiego folderu, program Visual Studio nie będzie mógł go utworzyć dla nas podczas dodawania pierwszej karnacji. Kliknij przycisk tak, aby utworzyć folder App_Theme i umieścić w nim nowy plik GridView.skin.

Pozwól programowi Visual Studio utworzyć folder App_Theme

Ilustracja 10. Pozwól programowi Visual Studio utworzyć folder App_Theme (kliknij, aby wyświetlić obraz w pełnym rozmiarze)

Spowoduje to utworzenie nowego motywu w folderze App_Themes o nazwie GridView z GridView.skinpliku skórki.

Motyw GridView został dodany do folderu App_Theme

Ilustracja 11. motyw GridView został dodany do folderu App_Theme

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ące znaczniki do pliku GridView.skin:

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

Definiuje ona domyślne właściwości dla CssClasswłaściwości dla każdego elementu GridView na każdej stronie korzystającej z motywu DataWebControls. Dodajmy kolejną skórę dla widoku DetailsView, kontrolki sieci Web danych, której będziemy używać wkrótce. Dodaj nową skórkę do motywu DataWebControls o nazwie DetailsView.skin i Dodaj następujące znaczniki:

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

Po zdefiniowaniu naszego motywu ostatni krok polega na zastosowaniu motywu do naszej strony ASP.NET. Motyw można zastosować w odniesieniu do strony lub dla wszystkich stron w witrynie sieci Web. Użyjemy tego motywu dla wszystkich stron w witrynie sieci Web. Aby to osiągnąć, Dodaj następujące znaczniki do sekcji <system.web> Web.config:

<pages styleSheetTheme="DataWebControls" />

To wszystko! Ustawienie styleSheetTheme wskazuje, że właściwości określone w motywie nie powinny przesłaniać właściwości określonych na poziomie formantu. Aby określić, że ustawienia motywu powinny Trump ustawienia kontroli, Użyj atrybutu theme zamiast styleSheetTheme; Niestety, ustawienia motywu określone za pośrednictwem atrybutu theme nie są wyświetlane w widok Projekt programu Visual Studio. Więcej informacji na temat motywów i skórek można znaleźć w tematach ASP.NET motywy i karnacje oraz Style po stronie serwera za pomocą motywów . Zobacz How to: Apply ASP.NET Themes, aby uzyskać więcej informacji na temat konfigurowania strony do korzystania z motywu.

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

Ilustracja 12. w widoku GridView wyświetlana jest nazwa produktu, Kategoria, dostawca, Cena i wycofane informacje (kliknij, aby wyświetlić obraz o pełnym rozmiarze)

Wyświetlanie jednego rekordu w czasie w widoku DetailsView

Widok GridView wyświetla jeden wiersz dla każdego rekordu zwróconego przez kontrolkę źródła danych, z którą jest powiązany. Czasami jednak może być konieczne wyświetlenie pojedynczego rekordu lub tylko jednego rekordu w danym momencie. Formant DetailsView oferuje tę funkcję, renderowanie jako <table> HTML z dwiema kolumnami i jednym wierszem dla każdej kolumny lub właściwości powiązanej z kontrolką. Widok DetailsView można traktować jako GridView z pojedynczym rekordem obróconym o 90 stopni.

Zacznij od dodania kontrolki DetailsView nad elementem GridView w SimpleDisplay.aspx. Następnie powiąż go z tą samą kontrolką ObjectDataSource co widok GridView. Podobnie jak w przypadku widoku GridView, BoundField zostanie dodana do widoku DetailsView dla każdej właściwości w obiekcie zwracanym przez metodę Select elementu ObjectDataSource. Jedyną różnicą jest to, że BoundFields DetailsView są rozłożone w poziomie, a nie w pionie.

dodać widoku DetailsView do strony i powiązać ją z elementem ObjectDataSource

Ilustracja 13. Dodaj widok DetailsView do strony i powiąż go z elementem ObjectDataSource (kliknij, aby wyświetlić obraz o pełnym rozmiarze)

Podobnie jak w widoku GridView, BoundFields można dostosować, aby zapewnić bardziej dostosowany sposób wyświetlania danych zwracanych przez element ObjectDataSource. Rysunek 14 przedstawia widok DetailsView, gdy jego właściwości BoundFields i CssClass zostały skonfigurowane tak, aby były podobne do przykładu GridView.

widoku DetailsView pokazuje pojedynczy rekord

Ilustracja 14. widok DetailsView pokazuje pojedynczy rekord (kliknij, aby wyświetlić obraz o pełnym rozmiarze)

Należy pamiętać, że w widoku DetailsView jest wyświetlany tylko pierwszy rekord zwrócony przez źródło danych. Aby umożliwić użytkownikowi jednoczesne przechodzenie między wszystkimi rekordami, należy włączyć stronicowanie w widoku DetailsView. Aby to zrobić, Wróć do programu Visual Studio i zaznacz pole wyboru Włącz stronicowanie w tagu inteligentnym DetailsView.

Włącz stronicowanie w kontrolce DetailsView

Ilustracja 15. Włączanie stronicowania w kontrolce DetailsView (kliknij, aby wyświetlić obraz o pełnym rozmiarze)

ze stronicowaniem włączonym, widok DetailsView umożliwia użytkownikowi wyświetlanie dowolnych produktów

Ilustracja 16. po włączeniu stronicowania widok DetailsView umożliwia użytkownikowi wyświetlanie dowolnego produktu (kliknij, aby wyświetlić obraz w pełnym rozmiarze)

Dowiesz się więcej o stronicowaniu w przyszłych samouczkach.

Bardziej elastyczny układ wyświetlania jednego rekordu w danym momencie

Widok DetailsView jest bardzo sztywny w sposobie wyświetlania każdego rekordu zwróconego z elementu ObjectDataSource. Firma Microsoft może chcieć bardziej elastyczne przeglądanie danych. Na przykład zamiast wyświetlania nazwy produktu, kategorii, dostawcy, ceny i nieprawidłowych informacji każdego w osobnym wierszu możemy chcieć pokazać nazwę produktu i cenę w <h4> nagłówku, a informacje o kategorii i dostawcy są wyświetlane poniżej nazwy i ceny przy użyciu mniejszego rozmiaru czcionki. Firma Microsoft może nie uważać, aby wyświetlić nazwy właściwości (produkt, Kategoria i tak dalej) obok wartości.

Kontrolka FormView zapewnia ten poziom dostosowywania. Zamiast używać pól (takich jak GridView i DetailsView), FormView korzysta z szablonów, które umożliwiają mieszanie kombinacji kontrolek sieci Web, statycznego kodu HTML i składni wiązania z danymi. Jeśli znasz formant wzmacniak od ASP.NET 1. x, Możesz pomyśleć o FormView jako wzmacniak do wyświetlania pojedynczego rekordu.

Dodaj kontrolkę FormView do powierzchni projektowej strony SimpleDisplay.aspx. Początkowo formant FormView jest wyświetlany w postaci szarego bloku, informując nas, że musimy podać co najmniej ItemTemplateformantu.

FormView musi zawierać element ItemTemplate

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

Można powiązać FormView bezpośrednio z kontrolką źródła danych za pomocą tagu inteligentnego FormView, co spowoduje automatyczne utworzenie domyślnego ItemTemplate (wraz z EditItemTemplate i InsertItemTemplate, jeśli ustawiono właściwości InsertMethod i UpdateMethod formantu ObjectDataSource). Jednak w tym przykładzie powiążemy dane z formantem FormView i ręcznie określisz jego ItemTemplate. Zacznij od ustawienia właściwości DataSourceID FormView do ID formantu ObjectDataSource, ObjectDataSource1. Następnie utwórz ItemTemplate w taki sposób, aby wyświetlał nazwę i cenę produktu w elemencie <h4>, a nazwy kategorii i spedytora poniżej, które mają mniejszy rozmiar 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

Ilustracja 18. pierwszy produkt (Chai) jest wyświetlany w formacie niestandardowym (kliknij, aby wyświetlić obraz o pełnym rozmiarze)

<%# Eval(propertyName) %> jest składnią wiązania danych. Metoda Eval zwraca wartość określonej właściwości dla bieżącego obiektu, który jest powiązany z kontrolką FormView. Zapoznaj się z artykułem uproszczonej i rozszerzonej składni powiązań danych w programie ASP.NET 2,0 , aby uzyskać więcej informacji na temat elementów i wykroczeń wiązania z danymi.

Podobnie jak w widoku DetailsView, FormView pokazuje tylko pierwszy rekord zwrócony z elementu ObjectDataSource. Można włączyć stronicowanie w widoku FormView, aby umożliwić odwiedzającym przechodzenie przez produkty po jednej naraz.

Podsumowanie

Uzyskiwanie dostępu do danych z warstwy logiki biznesowej i wyświetlanie ich z niej nie jest możliwe bez konieczności pisania wiersza kodu dzięki formantowi ObjectDataSourcea ASP.NET 2.0. Element ObjectDataSource wywołuje określoną metodę klasy i zwraca wyniki. Te wyniki można wyświetlić w kontrolce sieci Web danych, która jest powiązana z elementem ObjectDataSource. W tym samouczku pokazano, jak powiązać kontrolki GridView, DetailsView i FormView z elementami ObjectDataSource.

Do tej pory widzimy, jak używać elementu ObjectDataSource do wywołania metody bez parametrów, ale co zrobić, jeśli chcemy wywołać metodę, która oczekuje parametrów wejściowych, takich jak GetProductsByCategoryID(categoryID)klasy ProductBLL? W celu wywołania metody, która oczekuje co najmniej jednego parametru, należy skonfigurować element ObjectDataSource, aby określić wartości tych parametrów. Zobaczymy, jak to zrobić w następnym samouczku.

Szczęśliwe programowanie!

Dalsze informacje

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 grup ASP/ASP. NET Books i założyciel of 4GuysFromRolla.com, pracował z technologiami sieci Web firmy Microsoft od czasu 1998. Scott działa jako niezależny konsultant, trainer i składnik zapisywania. Jego Najnowsza książka to Sams ASP.NET 2,0 w ciągu 24 godzin. Można go osiągnąć w mitchell@4GuysFromRolla.com. lub za pośrednictwem swojego blogu, który można znaleźć w http://ScottOnWriting.NET.

Specjalne podziękowania

Ta seria samouczków została sprawdzona przez wielu przydatnych recenzentów. Recenzent potencjalnych klientów dla tego samouczka został Hilton Giesenow. Chcesz przeglądać moje nadchodzące artykuły MSDN? Jeśli tak, upuść mi linię w mitchell@4GuysFromRolla.com.