QueryExtender를 사용하는 중 오류 더 많은 필드가 포함 된 Surveyors 테이블에서 3 개의 필드를 가져 오는 EntityDataSource가있는 다음 GridView가 작동하지만, 물론 모든 서베이를 보여줍니다. 'FirstName'이 (가) 'System.Data.Common.DbDatRecord'유형의 구성원이 아닌
<asp:GridView ID="gvwSurveyors" runat="server" AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False" CellPadding="3" DataSourceID="edsSurveyors">
<Columns>
<asp:BoundField DataField="FirstName" HeaderText="FirstName" ReadOnly="True" SortExpression="FirstName" />
<asp:BoundField DataField="LastName" HeaderText="LastName" ReadOnly="True" SortExpression="LastName" />
<asp:BoundField DataField="ID" HeaderText="ID" ReadOnly="True" SortExpression="ID" />
</Columns>
</asp:GridView>
<asp:EntityDataSource ID="edsSurveyors" runat="server"
ConnectionString="name=PLSOEntities"
DefaultContainerName="PLSOEntities"
EnableFlattening="False"
EntitySetName="Surveyors"
Select="it.[FirstName], it.[LastName], it.[ID]"
AutoGenerateOrderByClause="true">
<OrderByParameters>
<asp:Parameter DefaultValue="LastName" />
</OrderByParameters>
</asp:EntityDataSource>
그래서 모든 것을 보여주지하는 초기 페이지로드를 얻기 위해 나는 EntityDataSource에 OnSelecting 이벤트를 추가하고 다시 게시되지 않는 경우는 쿼리를 취소합니다.
protected void edsSurveyors_Selecting(object sender, EntityDataSourceSelectingEventArgs e) {
if (!Page.IsPostBack)
e.Cancel = true;
}
나는 사용자가 스타일과 같은 SQL 쿼리를 사용하여 검색 할 수있는 txtFirstName 및 txtLastName라는 두 개의 텍스트 상자가 있습니다. 웹에서의 일부 독서로 인해 QueryExtender를 향하게되었습니다. 때 나는 오류가 버튼을 클릭 그래서 지금
<asp:GridView ID="gvwSurveyors" runat="server" AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False" CellPadding="3" DataSourceID="edsSurveyors">
<Columns>
<asp:BoundField DataField="FirstName" HeaderText="FirstName" ReadOnly="True" SortExpression="FirstName" />
<asp:BoundField DataField="LastName" HeaderText="LastName" ReadOnly="True" SortExpression="LastName" />
<asp:BoundField DataField="ID" HeaderText="ID" ReadOnly="True" SortExpression="ID" />
</Columns>
</asp:GridView>
<asp:EntityDataSource ID="edsSurveyors" runat="server"
ConnectionString="name=PLSOEntities"
DefaultContainerName="PLSOEntities"
EnableFlattening="False"
EntitySetName="Surveyors"
Select="it.[FirstName], it.[LastName], it.[ID]"
AutoGenerateOrderByClause="true" onselecting="edsSurveyors_Selecting">
<OrderByParameters>
<asp:Parameter DefaultValue="LastName" />
</OrderByParameters>
</asp:EntityDataSource>
<asp:QueryExtender ID="qexSurveyor" runat="server" TargetControlID="edsSurveyors">
<asp:SearchExpression SearchType="Contains" DataFields="FirstName">
<asp:ControlParameter ControlID="txtFirstName" />
</asp:SearchExpression>
</asp:QueryExtender>
: 나는 다음에 코드를 변경 'FIRSTNAME은'System.Data.Common.DbDataRecord '
유형의 구성원이 아닌 무엇 내가 Contains를 허용하도록 할 수 있습니까? 작동하면 LastName 매개 변수가 추가됩니다.