2012-06-22 4 views
0

여기 내 EntityDatasource입니다 : 나는 내가 EntityDatasource의 OnSelecting 이벤트를 사용할 필요가 가정 것이다매개 변수가 설정되지 않은 경우 EntityDatasource가 데이터베이스를 쿼리하지 못하게하려면 어떻게해야합니까?

<asp:EntityDataSource ID="edsUsers" runat="server" 
ConnectionString="name=kdEntities" DefaultContainerName="kdEntities" EnableDelete="True" 
EnableFlattening="False" EnableInsert="True" EnableUpdate="True" 
EntitySetName="Users" AutoGenerateWhereClause="true"> 
<WhereParameters> 
    <asp:SessionParameter Name="UsrID" SessionField="UsrID" DefaultValue="-1" Type="Int32" /> 
</WhereParameters> 

,하지만 난 매개 변수 값을 확인하는 방법을 알아 내지 못했다.

값이 -1 인 경우 쿼리를 취소하고 싶지만 매개 변수가 사용하는 세션 필드가 아니라 데이터 소스를 통해 확인하는 것이 좋습니다.

감사 케빈

당신은 Object 유형의 사용자 정의 매개 변수를 추가하는 생각

답변

1

. 그것은 당신의 문제를 해결할 수 있습니다.

<WhereParameters> 
      <cmsParameter:CustomParameter Name="UsrID" /> 
</WhereParameters> 

그럼 당신이 실제로 "USRID"사용자 정의 매개 변수를 우리가 지정한 할당됩니다

public class CustomParameter : Parameter 
{ 
    protected override object Eval(HttpContext context, Control control) 
    { 
     MembershipUser cur_User = Membership.GetUser(); 
     return cur_User.ProviderUserKey; 
    } 
} 

같은 새로운 사용자 매개 변수 클래스를 추가 할 수 있습니다.

관련 문제