일부 항목을 표시하기 위해 gridview를 사용하는 ASP 페이지가 있습니다. 표보기를 데이터베이스의 테이블에 바인드했습니다. 문제는 where 절을 기반으로 표시 할 내용을 필터링하려고하는 것입니다.GridView where 절
<asp:LinqDataSource ID="ItemsDataSource" runat="server" ContextTypeName="Database.MyDataContext" TableName="ItemDetails" OnSelecting="ItemSourceSelecting" Where="ID == @ID" >
는 여기에 내 ItemSourceSelecting
protected void ItemSourceSelecting(object sender, LinqDataSourceSelectEventArgs e)
{
if (!IsPostBack)
e.WhereParameters.Add("ID", ID);
}
페이지 내가 그것을에 가서 처음로드 할 때이 좋은 작품이다. 문제는 GridView에 10 개의 항목 만 표시하고 페이지 번호가 아래에 있다는 것입니다. 다른 페이지를 보려고하면 데이터베이스의 모든 것을 다시 가져오고 ItemSourceSelecting을 호출하지 않습니다. 이런 일이 일어나지 않도록 다른 장소 나 방법이 있습니까?
편집 : 하드 코드 Where = "ID == 1"LinqDataSource 태그에서 잘 작동합니다. 페이지를 변경할 때 ItemSourceSelecting을 호출해야하지만 그렇지 않은 것 같습니다. 어떻게 든 where 절은 페이지가 변경 될 때 버려지고있다.
컨트롤과 같이에 변수를 추가 할 수있는 방법이 있습니까? –
thecaptain0220