LinqDataSource.AutoGenerateWhereClause 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
LinqDataSource 컨트롤이 WhereParameters 컬렉션에 정의된 값을 기준으로 Where 절을 동적으로 만드는지 여부를 나타내는 값을 가져오거나 설정합니다.
public:
property bool AutoGenerateWhereClause { bool get(); void set(bool value); };
public bool AutoGenerateWhereClause { get; set; }
member this.AutoGenerateWhereClause : bool with get, set
Public Property AutoGenerateWhereClause As Boolean
속성 값
LinqDataSource 컨트롤이 Where 절을 만들면 true
이고, 그렇지 않으면 false
입니다. 기본값은 false
입니다.
구현
예제
다음 예제에서는 로 설정된 true
컨트롤을 AutoGenerateWhereClause 보여줍니다LinqDataSource. GridView 컨트롤은 쿼리에서 반환되는 데이터를 표시하기 위해 컨트롤에 바인딩 LinqDataSource 됩니다. DropDownList 세 개의 값으로 채워진 컨트롤이 포함되어 있습니다. 매개 변수는 데이터 개체의 WhereParameters 속성 중 하나와 일치하는 이름이 설정된 Category,
컬렉션에 포함됩니다. 해당 ControlID 속성은 컨트롤의 ID로 설정됩니다 DropDownList . 컨트롤은 LinqDataSource 사용자가 컨트롤에서 DropDownList 선택하는 값에 따라 레코드를 필터링하는 속성을 자동으로 만듭니다Where. 쿼리는 속성이 Category
컨트롤에서 사용자가 선택한 값과 일치하는 레코드를 DropDownList 반환합니다.
<asp:DropDownList AutoPostBack="true" ID="DropDownList1" runat="server">
<asp:ListItem Value="Sports"></asp:ListItem>
<asp:ListItem Value="Garden"></asp:ListItem>
<asp:ListItem Value="Auto"></asp:ListItem>
</asp:DropDownList>
<asp:LinqDataSource
ContextTypeName="ExampleDataContext"
TableName="Products"
AutoGenerateWhereClause="true"
ID="LinqDataSource1"
runat="server">
<WhereParameters>
<asp:ControlParameter
Name="Category"
ControlID="DropDownList1"
Type="String" />
</WhereParameters>
</asp:LinqDataSource>
<asp:GridView
DataSourceID="LinqDataSource1"
ID="GridView1"
runat="server">
</asp:GridView>
<asp:DropDownList AutoPostBack="true" ID="DropDownList1" runat="server">
<asp:ListItem Value="Sports"></asp:ListItem>
<asp:ListItem Value="Garden"></asp:ListItem>
<asp:ListItem Value="Auto"></asp:ListItem>
</asp:DropDownList>
<asp:LinqDataSource
ContextTypeName="ExampleDataContext"
TableName="Products"
AutoGenerateWhereClause="true"
ID="LinqDataSource1"
runat="server">
<WhereParameters>
<asp:ControlParameter
Name="Category"
ControlID="DropDownList1"
Type="String" />
</WhereParameters>
</asp:LinqDataSource>
<asp:GridView
DataSourceID="LinqDataSource1"
ID="GridView1"
runat="server">
</asp:GridView>
설명
속성을 true
설정 AutoGenerateWhereClause 하면 컨트롤이 컬렉션의 LinqDataSource 매개 변수 WhereParameters 에서 Where 절을 동적으로 만듭니다. 컬렉션에 WhereParameters 추가하는 각 매개 변수에는 쿼리 중인 데이터 개체의 속성과 일치하는 값으로 해당 Name 속성이 설정되어 있어야 합니다. 자동으로 생성된 Where 절은 컬렉션에 WhereParameters 지정된 값이 데이터 개체의 일치 속성 값과 같은지 여부를 확인합니다. 둘 이상의 매개 변수를 제공하는 경우 매개 변수는 논리 AND
연산과 연결됩니다. Where 절에 포함되거나 빈 값이 포함된 null
매개 변수는 포함되지 않습니다.
자동으로 생성된 Where 절은 같음만 테스트할 수 있으며 매개 변수를 작업과 AND
만 연결할 수 있습니다. 같음을 테스트하지 않는 조건을 추가해야 하거나 매개 변수를 작업과 OR
연결해야 하는 경우 속성을 true
설정 AutoGenerateWhereClause 하지 마세요. 속성을 false
설정 하 고 컬렉션의 AutoGenerateWhereClause 각 매개 변수 WhereParameters 에 대 한 속성에 Where 자리 표시자를 추가 하 여 이러한 작업을 수행할 수 있습니다. 속성에서 Where 각 자리 표시자 이름 앞에 @ 기호가 있습니다.
파서가 Where 절을 Where AutoGenerateWhereClause 동적으로 만들므로 속성이 true
있는 경우 속성을 설정하지 않습니다. LinqDataSource 속성이 있고 속성 true
에 값이 AutoGenerateWhereClause 할당된 경우 컨트롤이 예외를 Where throw합니다.