Вот как это работает:

protected void sourceEmployees_Selecting(Object sender,
  ObjectDataSourceSelectingEventArgs e)
{
  if (e.InputParametets["employeeID"] = null) e.Cancel = true;
  if ((string)e.InputParameters["City"] == "(Choose a City)")
  {
    // Ничего не делать.
    e.Cancel = true;
  }
  else if ((string)e.IflputParameters["City"] == "(All Cities)")
  {
    // Вручную заменить метод.
    sourceEmployees.SelectMethod = "GetAllEmployees";
    e.InputParameters.Remove("City");
  }
}

Такое решение невозможно с помощью SqlDataSource, потому что логика команды встроена в элемент управления источником данных. Однако при неправильном использовании и этот подход ведет к коду, который трудно сопровождать. Например, вы не получите никаких предупреждений, если переименуете, удалите или модифицируете параметры метода GetAllEmployees(). В этом случае ошибка всплывет только когда страница будет запущена и выполнен щелчок на элементе (Аll Cities) (Все города).

Резюме

В этой главе мы в деталях рассмотрели выражения привязки данных и элементы управления источниками данных. При этом мы начали использовать GridView — основной расширенный элемент управления данными ASP.NET. В следующей главе мы раскроем в подробностях три наиболее мощных привязываемых элемента управления: GridView, DetailsView и FormView. Кроме того, вы узнаете, как они работают с теми несколькими средствами источников данных, которые не были раскрыты в этой главе, такими как сортировка и фильтрация.

 

 

 

 

 

 

 

 

 

 

предыдущая    следующая страница   оглавление

417

Hosted by uCoz