Share via


ObjectDataSource를 사용하여 데이터 표시(C#)

작성자 : Scott Mitchell

PDF 다운로드

이 자습서에서는 ObjectDataSource 컨트롤을 살펴봅니다. 이 컨트롤을 사용하면 코드 줄을 작성하지 않고도 이전 자습서에서 만든 BLL에서 검색된 데이터를 바인딩할 수 있습니다.

소개

애플리케이션 아키텍처 및 웹 사이트 페이지 레이아웃이 완료되면 다양한 일반적인 데이터 및 보고 관련 작업을 수행하는 방법을 탐색할 준비가 된 것입니다. 이전 자습서에서는 DAL 및 BLL의 데이터를 프로그래밍 방식으로 ASP.NET 페이지의 데이터 웹 컨트롤에 바인딩하는 방법을 살펴보았습니다. 표시할 데이터에 데이터 웹 컨트롤의 DataSource 속성을 할당한 다음 컨트롤의 DataBind() 메서드를 호출하는 이 구문은 ASP.NET 1.x 애플리케이션에서 사용되는 패턴이며 2.0 애플리케이션에서 계속 사용할 수 있습니다. 그러나 ASP.NET 2.0의 새 데이터 원본 제어는 데이터 작업을 선언적으로 수행할 수 있는 방법을 제공합니다. 이러한 컨트롤을 사용하면 코드 줄을 작성하지 않고 도 이전 자습서 에서 만든 BLL에서 검색된 데이터를 바인딩할 수 있습니다.

ASP.NET 2.0에는 5개의 기본 제공 데이터 원본 컨트롤 SqlDataSource, AccessDataSource, ObjectDataSource, XmlDataSourceSiteMapDataSource 가 함께 제공되지만 필요한 경우 사용자 지정 데이터 원본 컨트롤을 빌드할 수 있습니다. 자습서 애플리케이션에 대한 아키텍처를 개발했으므로 BLL 클래스에 대해 ObjectDataSource를 사용합니다.

ASP.NET 2.0에는 5개의 Built-In 데이터 원본 제어가 포함됩니다.

그림 1: ASP.NET 2.0에는 5개의 Built-In 데이터 원본 제어가 포함됩니다.

ObjectDataSource는 다른 개체로 작업하기 위한 프록시 역할을 합니다. ObjectDataSource를 구성하려면 이 기본 개체와 해당 메서드가 ObjectDataSource의 Select, , InsertUpdateDelete 메서드에 매핑되는 방법을 지정합니다. 이 기본 개체가 지정되고 ObjectDataSource의 메서드가 매핑되면 ObjectDataSource를 데이터 웹 컨트롤에 바인딩할 수 있습니다. ASP.NET GridView, DetailsView, RadioButtonList 및 DropDownList 등 다양한 데이터 웹 컨트롤과 함께 제공됩니다. 페이지 수명 주기 동안 데이터 웹 컨트롤은 해당 ObjectDataSource의 Select 메서드를 호출하여 수행할 바인딩된 데이터에 액세스해야 할 수 있습니다. 데이터 웹 컨트롤이 삽입, 업데이트 또는 삭제를 지원하는 경우 ObjectDataSource의 Insert, Update또는 Delete 메서드를 호출할 수 있습니다. 그런 다음, 다음 다이어그램과 같이 ObjectDataSource에서 적절한 기본 개체의 메서드로 이러한 호출을 라우팅합니다.

ObjectDataSource는 프록시 역할을 합니다.

그림 2: ObjectDataSource 프록시 역할을 합니다(전체 크기 이미지를 보려면 클릭).

ObjectDataSource를 사용하여 데이터를 삽입, 업데이트 또는 삭제하는 메서드를 호출할 수 있지만 데이터 반환에만 집중하겠습니다. 이후 자습서에서는 ObjectDataSource 및 데이터를 수정하는 데이터 웹 컨트롤을 사용하여 탐색합니다.

1단계: ObjectDataSource 컨트롤 추가 및 구성

먼저 폴더에서 SimpleDisplay.aspxBasicReporting 페이지를 열고 디자인 보기로 전환한 다음 Toolbox에서 페이지의 디자인 화면으로 ObjectDataSource 컨트롤을 끕니다. ObjectDataSource는 태그를 생성하지 않으므로 디자인 화면에 회색 상자로 나타납니다. 지정된 개체에서 메서드를 호출하여 데이터에 액세스하기만 하면 됩니다. ObjectDataSource에서 반환된 데이터는 GridView, DetailsView, FormView 등과 같은 데이터 웹 컨트롤에서 표시할 수 있습니다.

참고

또는 먼저 페이지에 데이터 웹 컨트롤을 추가한 다음 스마트 태그에서 드롭다운 목록에서 새 데이터 원본> 옵션을 선택할 <수 있습니다.

ObjectDataSource의 기본 개체와 해당 개체의 메서드가 ObjectDataSource의 메서드에 매핑되는 방식을 지정하려면 ObjectDataSource의 스마트 태그에서 데이터 원본 구성 링크를 클릭합니다.

스마트 태그에서 데이터 Source Link 구성을 클릭합니다.

그림 3: 스마트 태그에서 데이터 구성 Source Link 클릭합니다(전체 크기 이미지를 보려면 클릭).

그러면 데이터 원본 구성 마법사가 나타납니다. 먼저 ObjectDataSource가 사용할 개체를 지정해야 합니다. "데이터 구성 요소만 표시" 확인란이 선택되어 있으면 이 화면의 드롭다운 목록에는 특성으로 DataObject 데코레이팅된 개체만 나열됩니다. 현재 목록에는 Typed DataSet의 TableAdapters 및 이전 자습서에서 만든 BLL 클래스가 포함되어 있습니다. 비즈니스 논리 계층 클래스에 DataObject 특성을 추가하는 것을 잊은 경우 이 목록에 표시되지 않습니다. 이 경우 "데이터 구성 요소만 표시" 확인란의 선택을 취소하여 BLL 클래스를 포함해야 하는 모든 개체를 봅니다(Typed DataSet the DataTables, DataRows 등의 다른 클래스와 함께).

이 첫 번째 화면에서 드롭다운 목록에서 클래스를 선택하고 ProductsBLL 다음을 클릭합니다.

ObjectDataSource 컨트롤과 함께 사용할 개체 지정

그림 4: ObjectDataSource 컨트롤에서 사용할 개체 지정(전체 크기 이미지를 보려면 클릭)

마법사의 다음 화면에서 ObjectDataSource가 호출해야 하는 메서드를 선택하라는 메시지가 표시됩니다. 드롭다운에는 이전 화면에서 선택한 개체의 데이터를 반환하는 메서드가 나열됩니다. 여기서는 , , GetProductsGetProductsByCategoryIDGetProductsBySupplierID가 표시됩니다GetProductByProductID. GetProducts 드롭다운 목록에서 메서드를 선택하고 마침을 클릭합니다(이전 자습서와 같이 의 메서드에 를 추가 DataObjectMethodAttributeProductBLL한 경우 이 옵션은 기본적으로 선택됩니다).

SELECT 탭에서 데이터 반환 방법 선택

그림 5: SELECT 탭에서 데이터 반환 방법을 선택합니다(전체 크기 이미지를 보려면 클릭).

수동으로 ObjectDataSource 구성

ObjectDataSource의 데이터 원본 구성 마법사는 사용하는 개체를 지정하고 호출되는 개체의 메서드를 연결하는 빠른 방법을 제공합니다. 그러나 속성 창 통해 또는 선언적 태그에서 직접 속성을 통해 ObjectDataSource를 구성할 수 있습니다. 속성을 사용할 기본 개체의 형식으로 SelectMethod 설정하고 데이터를 검색할 때 호출할 메서드로 설정 TypeName 하기만 하면 됩니다.

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

데이터 원본 구성 마법사를 선호하는 경우에도 마법사에 개발자가 만든 클래스만 나열되므로 ObjectDataSource를 수동으로 구성해야 하는 경우가 있을 수 있습니다. ObjectDataSource를 멤버 자격 클래스와 같은 .NET Framework 클래스에 바인딩하여 사용자 계정 정보에 액세스하거나, 파일 시스템 정보를 사용할 디렉터리 클래스를 바인딩하려면 ObjectDataSource의 속성을 수동으로 설정해야 합니다.

2단계: 데이터 웹 컨트롤 추가 및 ObjectDataSource에 바인딩

ObjectDataSource가 페이지에 추가되고 구성되면 페이지에 데이터 웹 컨트롤을 추가하여 ObjectDataSource의 Select 메서드에서 반환된 데이터를 표시할 준비가 되었습니다. 모든 데이터 웹 컨트롤을 ObjectDataSource에 바인딩할 수 있습니다. GridView, DetailsView 및 FormView에서 ObjectDataSource의 데이터를 표시하는 것을 살펴보겠습니다.

ObjectDataSource에 GridView 바인딩

도구 상자의 GridView 컨트롤을 SimpleDisplay.aspx디자인 화면에 추가합니다. GridView의 스마트 태그에서 1단계에서 추가한 ObjectDataSource 컨트롤을 선택합니다. 그러면 ObjectDataSource의 메서드(즉, Products DataTable에서 정의한 속성)의 Select 데이터가 반환하는 각 속성에 대해 GridView에 BoundField가 자동으로 만들어집니다.

GridView가 페이지에 추가되고 ObjectDataSource에 바인딩되었습니다.

그림 6: GridView가 페이지에 추가되고 ObjectDataSource에 바인딩됨(전체 크기 이미지를 보려면 클릭)

그런 다음 스마트 태그에서 열 편집 옵션을 클릭하여 GridView의 BoundFields를 사용자 지정, 다시 정렬 또는 제거할 수 있습니다.

열 편집 대화 상자를 통해 GridView의 BoundFields 관리

그림 7: 열 편집 대화 상자를 통해 GridView의 BoundFields 관리(전체 크기 이미지를 보려면 클릭)

잠시 시간을 내어 GridView의 BoundFields를 수정하고 ProductID, , SupplierID, CategoryIDQuantityPerUnit, UnitsInStock, UnitsOnOrderReorderLevel BoundFields를 제거합니다. 왼쪽 아래 목록에서 BoundField를 선택하고 삭제 단추(빨간색 X)를 클릭하여 제거합니다. 다음으로, 이러한 BoundFields를 CategoryName 선택하고 위쪽 화살표를 클릭하여 및 SupplierName BoundFields가 BoundField 앞에 있도록 UnitPrice BoundFields를 다시 정렬합니다. HeaderText 나머지 BoundFieldsProducts의 속성을 각각 , Category, SupplierPrice로 설정합니다. 다음으로 BoundField의 Price 속성을 False로 설정하고 해당 속성을 로 설정하여 BoundField HtmlEncode 형식을 DataFormatString 통화로 지정합니다 {0:c}. 마지막으로, 가로로 오른쪽에 맞춤 Price 하 고 Discontinued 확인란을 통해 가운데 속성을 통해 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>

GridView의 BoundFields가 사용자 지정되었습니다.

그림 8: GridView의 BoundFields가 사용자 지정되었습니다(전체 크기 이미지를 보려면 클릭).

일관된 모양에 테마 사용

이 자습서에서는 가능한 한 외부 파일에 정의된 계단식 스타일시트를 사용하는 대신 컨트롤 수준 스타일 설정을 제거하기 위해 노력합니다. 파일에는 Styles.css 이러한 자습서에서 DataWebControlStyle사용되는 데이터 웹 컨트롤의 모양을 지정하는 데 사용해야 하는 , HeaderStyle, RowStyleAlternatingRowStyle CSS 클래스가 포함되어 있습니다. 이를 위해 GridView의 CssClass 속성을 DataWebControlStyle, , HeaderStyleRowStyleAlternatingRowStyle 속성의 CssClass 속성으로 적절하게 설정할 수 있습니다.

웹 컨트롤에서 이러한 CssClass 속성을 설정하는 경우 자습서에 추가된 각 데이터 웹 컨트롤에 대해 이러한 속성 값을 명시적으로 설정해야 합니다. 보다 관리하기 쉬운 방법은 테마를 사용하여 GridView, DetailsView 및 FormView 컨트롤에 대한 기본 CSS 관련 속성을 정의하는 것입니다. 테마는 일반적인 모양과 느낌을 적용하기 위해 사이트 전체의 페이지에 적용할 수 있는 컨트롤 수준 속성 설정, 이미지 및 CSS 클래스의 컬렉션입니다.

테마에는 이미지 또는 CSS 파일이 포함되지 않지만(웹 애플리케이션의 루트 폴더에 정의된 스타일시트를 Styles.css 그대로 둡니다.) 두 개의 스킨이 포함됩니다. 스킨 은 웹 컨트롤의 기본 속성을 정의하는 파일입니다. 특히 GridView 및 DetailsView 컨트롤에 대한 스킨 파일이 있으며 기본 관련 속성을 나타냅니다 CssClass.

먼저 솔루션 탐색기 프로젝트 이름을 마우스 오른쪽 단추로 클릭하고 새 항목 추가를 선택하여 라는 GridView.skin 새 스킨 파일을 프로젝트에 추가합니다.

GridView.skin이라는 스킨 파일 추가

그림 9: 명명 GridView.skin 된 스킨 파일 추가(전체 크기 이미지를 보려면 클릭)

스킨 파일은 폴더에 있는 테마에 App_Themes 배치해야 합니다. 아직 이러한 폴더가 없으므로 Visual Studio는 첫 번째 스킨을 추가할 때 만들도록 친절하게 제안합니다. 예를 클릭하여 폴더를 App_Theme 만들고 새 GridView.skin 파일을 배치합니다.

Visual Studio에서 App_Theme 폴더 만들기

그림 10: Visual Studio에서 폴더를 App_Theme 만들도록 허용(전체 크기 이미지를 보려면 클릭)

그러면 GridView라는 폴더에 App_Themes 스킨 파일이 GridView.skin있는 새 테마가 만들어질 것입니다.

GridView 테마가 App_Theme 폴더에 추가되었습니다.

그림 11: GridView 테마가 폴더에 App_Theme 추가되었습니다.

GridView 테마의 이름을 DataWebControls로 바꿉니다(폴더의 GridView 폴더를 App_Theme 마우스 오른쪽 단추로 클릭하고 이름 바꾸기 선택). 다음으로 파일에 다음 태그를 입력합니다 GridView.skin .

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

DataWebControls 테마를 CssClass사용하는 모든 페이지의 GridView에 대한 관련 속성의 기본 속성을 정의합니다. 곧 사용할 데이터 웹 컨트롤인 DetailsView에 대해 다른 스킨을 추가해 보겠습니다. 라는 DetailsView.skin DataWebControls 테마에 새 스킨을 추가하고 다음 태그를 추가합니다.

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

테마가 정의되면 마지막 단계는 ASP.NET 페이지에 테마를 적용하는 것입니다. 테마는 페이지 단위로 또는 웹 사이트의 모든 페이지에 적용할 수 있습니다. 웹 사이트의 모든 페이지에 이 테마를 사용하겠습니다. 이렇게 하려면 의 섹션에 다음 태그를 Web.config<system.web> 추가합니다.

<pages styleSheetTheme="DataWebControls" />

이제 모든 작업을 마쳤습니다. 설정은 styleSheetTheme 테마에 지정된 속성이 컨트롤 수준에서 지정된 속성을 재정의 해서는 안 됨을 나타냅니다. 테마 설정이 컨트롤 설정을 능가하도록 지정하려면 대신 특성을 styleSheetTheme사용합니다theme. 아쉽게도 특성을 통해 theme 지정된 테마 설정은 Visual Studio 디자인 보기에 표시되지 않습니다. 테마 및 스킨에 대한 자세한 내용은 테마 및 스킨 ASP.NET 개요테마를 사용하는 서버 쪽 스타일을 참조하세요. 테마를 사용하도록 페이지를 구성하는 방법에 대한 자세한 내용은 방법: ASP.NET 테마 적용을 참조하세요.

GridView는 제품의 이름, 범주, 공급자, 가격 및 중단된 정보를 표시합니다.

그림 12: GridView는 제품의 이름, 범주, 공급자, 가격 및 중단된 정보를 표시합니다(전체 크기 이미지를 보려면 클릭).

DetailsView에서 한 번에 하나의 레코드 표시

GridView는 바인딩된 데이터 원본 컨트롤에서 반환된 각 레코드에 대해 하나의 행을 표시합니다. 그러나 한 번에 하나의 레코드 또는 하나의 레코드만 표시할 수 있는 경우가 있습니다. DetailsView 컨트롤은 컨트롤에 바인딩된 각 열 또는 속성에 대해 두 개의 열과 하나의 행이 있는 HTML <table> 로 렌더링하는 이 기능을 제공합니다. DetailsView를 단일 레코드가 90도 회전된 GridView로 생각할 수 있습니다.

먼저 의 GridView 위에 DetailsView SimpleDisplay.aspx컨트롤을 추가합니다. 다음으로 GridView와 동일한 ObjectDataSource 컨트롤에 바인딩합니다. GridView와 마찬가지로 BoundField는 ObjectDataSource의 메서드에서 반환된 개체의 Select 각 속성에 대한 DetailsView에 추가됩니다. 유일한 차이점은 DetailsView의 BoundFields가 세로가 아닌 수평으로 배치된다는 것입니다.

DetailsView를 페이지에 추가하고 ObjectDataSource에 바인딩

그림 13: 페이지에 DetailsView 추가 및 ObjectDataSource에 바인딩(전체 크기 이미지를 보려면 클릭)

GridView와 마찬가지로 DetailsView의 BoundFields를 조정하여 ObjectDataSource에서 반환된 데이터의 보다 사용자 지정된 표시를 제공할 수 있습니다. 그림 14는 BoundFields 및 속성이 GridView 예제와 CssClass 유사하게 표시되도록 구성된 후의 DetailsView를 보여 줍니다.

DetailsView는 단일 레코드를 표시합니다.

그림 14: DetailsView는 단일 레코드를 표시합니다(전체 크기 이미지를 보려면 클릭).

DetailsView는 데이터 원본에서 반환된 첫 번째 레코드만 표시합니다. 사용자가 모든 레코드를 한 번에 하나씩 단계별로 실행할 수 있도록 하려면 DetailsView에 대해 페이징을 사용하도록 설정해야 합니다. 이렇게 하려면 Visual Studio로 돌아가서 DetailsView의 스마트 태그에서 페이징 사용 확인란을 검사.

DetailsView 컨트롤에서 페이징 사용

그림 15: DetailsView 컨트롤에서 페이징 사용(전체 크기 이미지를 보려면 클릭)

페이징을 사용하도록 설정하면 DetailsView를 통해 사용자가 제품을 볼 수 있습니다.

그림 16: 페이징을 사용하도록 설정하면 DetailsView를 통해 사용자가 제품을 볼 수 있습니다(전체 크기 이미지를 보려면 클릭).

이후 자습서에서는 페이징에 대해 자세히 살펴보겠습니다.

한 번에 하나의 레코드를 표시하기 위한 보다 유연한 레이아웃

DetailsView는 ObjectDataSource에서 반환된 각 레코드를 표시하는 방법에 매우 엄격합니다. 데이터를 보다 유연하게 볼 수 있습니다. 예를 들어 제품의 이름, 범주, 공급자, 가격 및 중단된 정보를 각각 별도의 행에 표시하는 대신 제목에 제품 이름과 가격을 <h4> 표시하고 범주 및 공급자 정보가 이름 및 가격 아래에 더 작은 글꼴 크기로 표시되도록 할 수 있습니다. 또한 값 옆에 속성 이름(제품, 범주 등)을 표시하지 않을 수 있습니다.

FormView 컨트롤은 이러한 수준의 사용자 지정을 제공합니다. GridView 및 DetailsView와 같은 필드를 사용하는 대신 FormView는 웹 컨트롤, 정적 HTML 및 데이터 바인딩 구문을 혼합할 수 있는 템플릿을 사용합니다. ASP.NET 1.x의 반복기 컨트롤에 익숙한 경우 FormView를 단일 레코드를 표시하기 위한 반복기라고 생각할 수 있습니다.

페이지의 디자인 화면에 FormView 컨트롤을 SimpleDisplay.aspx 추가합니다. 처음에 FormView는 회색 블록으로 표시되어 최소한 컨트롤의 ItemTemplate를 제공해야 함을 알려줍니다.

FormView에 ItemTemplate이 포함되어야 합니다.

그림 17: FormView에 를 ItemTemplate 포함해야 합니다(전체 크기 이미지를 보려면 클릭).

FormView의 스마트 태그를 통해 FormView를 데이터 소스 컨트롤에 직접 바인딩할 수 있습니다. 그러면 ObjectDataSource 컨트롤의 InsertMethod 및 속성이 설정된 경우 및 InsertItemTemplateUpdateMethod 함께 EditItemTemplate 기본값 ItemTemplate 이 자동으로 만들어집니다. 그러나 이 예제에서는 데이터를 FormView에 바인딩하고 수동으로 지정 ItemTemplate 해 보겠습니다. FormView의 DataSourceID 속성을 ObjectDataSource 컨트롤ObjectDataSource1의 로 ID 설정하여 시작합니다. 다음으로, 요소에 제품의 이름과 가격을 <h4> 표시하고 그 아래에 있는 범주 및 배송업체 이름을 더 작은 글꼴 크기로 표시할 수 있도록 을 만듭니 ItemTemplate 다.

<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>

첫 번째 제품(차이)이 사용자 지정 형식으로 표시됩니다.

그림 18: 첫 번째 제품(Chai)이 사용자 지정 형식으로 표시됩니다(전체 크기 이미지를 보려면 클릭).

<%# Eval(propertyName) %> 데이터 바인딩 구문입니다. 메서드는 Eval FormView 컨트롤에 바인딩되는 현재 개체에 대해 지정된 속성의 값을 반환합니다. 데이터 바인딩의 기능 및 아웃에 대한 자세한 내용은 ASP.NET 2.0에서 Alex Homer의 단순화 및 확장 데이터 바인딩 구문을 확인하세요.

DetailsView와 마찬가지로 FormView는 ObjectDataSource에서 반환된 첫 번째 레코드만 표시합니다. FormView에서 페이징을 사용하도록 설정하여 방문자가 제품을 한 번에 하나씩 단계별로 실행할 수 있습니다.

요약

ASP.NET 2.0의 ObjectDataSource 컨트롤 덕분에 코드 줄을 작성하지 않고도 비즈니스 논리 계층에서 데이터에 액세스하고 표시할 수 있습니다. ObjectDataSource는 클래스의 지정된 메서드를 호출하고 결과를 반환합니다. 이러한 결과는 ObjectDataSource에 바인딩된 데이터 웹 컨트롤에 표시될 수 있습니다. 이 자습서에서는 GridView, DetailsView 및 FormView 컨트롤을 ObjectDataSource에 바인딩하는 방법을 살펴보았습니다.

지금까지 ObjectDataSource를 사용하여 매개 변수가 없는 메서드를 호출하는 방법만 살펴보았지만, 클래스의 GetProductsByCategoryID(categoryID)와 같은 ProductBLL 입력 매개 변수가 필요한 메서드를 호출하려면 어떻게 해야 할까요? 하나 이상의 매개 변수가 필요한 메서드를 호출하려면 ObjectDataSource를 구성하여 이러한 매개 변수의 값을 지정해야 합니다. 이 작업을 수행하는 방법은 다음 자습서에서 확인할 수 있습니다.

행복한 프로그래밍!

추가 정보

이 자습서에서 설명하는 topics 대한 자세한 내용은 다음 리소스를 참조하세요.

저자 정보

7개의 ASP/ASP.NET 책의 저자이자 4GuysFromRolla.com 창립자인 Scott Mitchell은 1998년부터 Microsoft 웹 기술로 작업해 왔습니다. Scott은 독립 컨설턴트, 트레이너 및 작가로 일합니다. 그의 최신 책은 샘스 티치 유어셀프 ASP.NET 24시간 만에 2.0입니다. 그는 에서mitchell@4GuysFromRolla.com 또는 에서 찾을 http://ScottOnWriting.NET수있는 자신의 블로그를 통해 도달 할 수 있습니다.

특별 감사

이 자습서 시리즈는 많은 유용한 검토자가 검토했습니다. 이 자습서의 수석 검토자는 Hilton Giesenow였습니다. 예정된 MSDN 문서를 검토하는 데 관심이 있으신가요? 그렇다면 에 줄을 놓습니다 mitchell@4GuysFromRolla.com.