Прочитать на английском

Поделиться через


ObjectDataSource.StartRowIndexParameterName Свойство

Определение

Возвращает или задает имя параметра метода извлечения данных, который позволяет задать значение идентификатора первой записи для обеспечения поддержки разбиения по страницам источника данных.

C#
public string StartRowIndexParameterName { get; set; }

Значение свойства

Имя параметра метода бизнес-объекта, позволяющее задать первую извлекаемую запись. Параметр должен возвращать целую величину. Значение по умолчанию — "startRowIndex".

Примеры

В следующих трех примерах показана веб-страница, класс страницы с кодом программной части и класс доступа к данным, которые позволяют пользователю выбрать количество записей, отображаемых на странице.

Веб-страница содержит элемент управления, ObjectDataSource свойство которого EnablePaging имеет значение true. Свойству SelectCountMethod присваивается имя метода, возвращающего общее количество записей в запросе. Свойствам MaximumRowsParameterName и свойству StartRowIndexParameterName присваиваются имена параметров, используемых в методе Select. Страница также содержит DropDownList элемент управления .

ASP.NET (C#)
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>ObjectDataSource Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    How many rows to display on this page:<br />
    <asp:DropDownList 
          AutoPostBack="true" 
          ID="rowsToDisplay" 
          runat="server" 
          onselectedindexchanged="rowsToDisplay_SelectedIndexChanged">
        <asp:ListItem Value="5"></asp:ListItem>
        <asp:ListItem Value="10" Selected="True"></asp:ListItem>
        <asp:ListItem Value="20"></asp:ListItem>
    </asp:DropDownList> 
    
    <asp:ObjectDataSource 
        SelectCountMethod="GetEmployeeCount" 
        EnablePaging="true" 
        TypeName="CustomerLogic" 
        SelectMethod="GetSubsetOfEmployees"
        MaximumRowsParameterName="maxRows"
        StartRowIndexParameterName="startRows"
        ID="ObjectDataSource1" 
        runat="server">
    </asp:ObjectDataSource>
    
    <asp:GridView 
        DataSourceID="ObjectDataSource1" 
        AllowPaging="true" 
        ID="GridView1" 
        runat="server">
    </asp:GridView>
    
    </div>
    </form>
</body>
</html>

Во втором примере показан обработчик для ListControl.SelectedIndexChanged события DropDownList элемента управления . Код в обработчике задает PageSize для свойства выбор пользователя.

C#
protected void rowsToDisplay_SelectedIndexChanged(object sender, EventArgs e)
{
    GridView1.PageSize = int.Parse(rowsToDisplay.SelectedValue);
}

В третьем примере показан класс доступа к данным, который получает данные из таблицы Customers. Он включает метод с именем GetSubsetOfEmployees, который назначается свойству SelectMethodObjectDataSource элемента управления . Пример также включает метод с именем GetEmployeeCount, который назначается свойству SelectCountMethodObjectDataSource элемента управления . Класс использует LINQ для запроса таблицы Customers. Для этого примера требуется класс LINQ to SQL, представляющий базу данных Northwind и таблицу Customers. Дополнительные сведения см. в разделе Практическое руководство. Создание классов LINQ to SQL в веб-проекте.

C#
public class CustomerLogic
{

    public List<Customer> GetSubsetOfEmployees(int startRows, int maxRows)
    {
        NorthwindDataContext ndc = new NorthwindDataContext();
        var customerQuery = 
            from c in ndc.Customers
            select c;

        return customerQuery.Skip(startRows).Take(maxRows).ToList<Customer>();
    }

    public int GetEmployeeCount()
    {
        object cachedCount = HttpRuntime.Cache["TotalEmployeeCount"];
        if (cachedCount != null)
        {
            return int.Parse(cachedCount.ToString());
        }
        else
        {
            NorthwindDataContext ndc = new NorthwindDataContext();
            var totalNumberQuery =
                from c in ndc.Customers
                select c;
            
            int employeeCount = totalNumberQuery.Count();
            HttpRuntime.Cache.Add("TotalEmployeeCount", employeeCount, null, DateTime.Now.AddMinutes(5), Cache.NoSlidingExpiration, CacheItemPriority.Normal, null);
            return employeeCount;
        }
    }
}

Комментарии

Свойство StartRowIndexParameterName используется для поддержки разбиения источника данных на страницы. Сведения о поддержке разбиения по страницам элементом управления см. в ObjectDataSource разделе EnablePaging.

Свойство StartRowIndexParameterName делегируется свойству StartRowIndexParameterName объекта , связанного ObjectDataSourceView с элементом ObjectDataSource управления .

Применяется к

Продукт Версии
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

См. также раздел