2012-11-27 4 views
1

두 페이지가 있습니다. 마스터 페이지에는 모든 제품 목록과 해당 제품에 대한 모든 세부 정보가 포함 된 별도의 세부 정보 페이지가 들어 있습니다.다른 페이지의 매개 변수가있는 EntityDataSource 필터링

마스터 페이지에는 격자보기가 있으며 특정 행에 대한 링크 레이블을 클릭하면 ID를 기반으로 한 정보가있는 다른 페이지 (세부 정보 페이지)가 표시됩니다.

DataNavigateUrlFields : ID DataNavigateUrlFormatString : EmployeeFinanceDetailsPage.aspx ID = {0}

이 난 세부 정보 페이지에 ID를 게시하려고 링크 라벨에 추가 된 것입니다. 그건 그렇고, 전 순수하게 엔티티 데이터 소스를 사용하고 있습니다. 엔티티 데이터 모델을 구성하고 제대로 작동하도록했습니다.

내 세부 정보 페이지에는 다음과 같이 데이터 소스로 구성된 양식보기가 있습니다.

<asp:EntityDataSource ID="EntityDataSource1" runat="server" ConnectionString="name=sspEntities" DefaultContainerName="sspEntities" 
EnableDelete="True" EnableFlattening="False" EnableInsert="True" 
EnableUpdate="True" EntitySetName="Employee_Financial" 
EntityTypeFilter="" Select="" Where="" AutoGenerateWhereClause="True"> 
WhereParameters> <asp:FormParameter DbType="Int32" DefaultValue="0" 
FormField="ID" Name="ID" /> </WhereParameters> 
</asp:EntityDataSource> 

어떤 이유로이 페이지는 계속해서 공백으로 표시됩니다. 잘못된 것을 알지 못합니다. 나는 심지어 AutoGenerateWhereClause를 제거하려고 시도했지만 여전히 같은 결과를 얻었습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까? 미리 조언 해 주셔서 감사합니다.

답변

1

FormParameter을 사용하고 있지만 쿼리 문자열에 ID를 전달했습니다. 대신 QueryStringParameter을 사용해보십시오.

<WhereParameters> 
    <asp:QueryStringParameter 
     DbType="Int32" 
     DefaultValue="0" 
     QueryStringField="ID" 
     Name="ID" 
    /> 
</WhereParameters>