2014-12-02 1 views
0

SelectCommand에서 호출되지 않은 DataSource의 SelectParameters에 SessionParamters를 정의하는 방법이 있습니까?처음 사용되지 않은 SelectParameter로 GridView 초기화

초기 페이지 생성 후 나중에 사용할 수 있도록 매개 변수가 정의되기를 원하지만 SelectCommand에서 사용되지 않으면 DataSource가 작동하지 않는 것처럼 보입니다 - 호출하는 GridView는 비어 있지만 아직 생성됩니다 사용하지 않은 매개 변수를 제외하면 문제가 없습니다.

예를 들어, 다음과 같은 정의를 성공적으로의 GridView를 채울 것입니다 :

<asp:SqlDataSource ID="DataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString1 %>" SelectCommand="SELECT * FROM Customers WHERE @UsedParameter='Green'"> 
     <SelectParameters> 
      <asp:SessionParameter Name="UsedParameter" SessionField="Parameter1" />    
     </SelectParameters> 
    </asp:SqlDataSource> 

을 다음이의 GridView를 채울 것입니다 반면 :

재미
 <asp:SqlDataSource ID="DataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString1 %>" SelectCommand="SELECT * FROM Customers WHERE @UsedParameter='Green'"> 
     <SelectParameters> 
      <asp:SessionParameter Name="UsedParameter" SessionField="Parameter1" /> 
      <asp:SessionParameter Name="UnUsedParameter2" SessionField="Parameter2" /> 
     </SelectParameters> 
    </asp:SqlDataSource> 

답변

1

... 나는 것 같아요 전에 매개 변수를 삭제하는 것을 잊었을 때 그 문제를 보았습니다. 나중에 다른 매개 변수를 사용하기 위해 select 명령을 변경하려고 할 것이므로 그 시점에 매개 변수를 추가하지 않으시겠습니까?

VB

Dim p As New SessionParameter("UnUsedParameter2", "Parameter2") 
    DataSource1.SelectParameters.Add(p) 

C#을

 SessionParameter p = new SessionParameter("UnUsedParameter2", "Parameter2") 
    DataSource1.SelectParameters.Add(p); 
+1

이는 매력을했다. 감사! 완전을 기하기 위해 답에 C# 코드를 추가했습니다. – CAJE

관련 문제