LinqDataSourceSelectEventArgs.Result Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Получает или задает объект данных, используемый в запросе данных.
public:
property System::Object ^ Result { System::Object ^ get(); void set(System::Object ^ value); };
public object Result { get; set; }
member this.Result : obj with get, set
Public Property Result As Object
Значение свойства
Объект, представляющий данные для запроса.
Примеры
В следующем примере показано, как задать Result для свойства результат запроса LINQ.
protected void LinqDataSource_Selecting(object sender, LinqDataSourceSelectEventArgs e)
{
ExampleDataContext exampleContext = new ExampleDataContext();
e.Result = from p in exampleContext.Products
where p.Category == "Beverages"
select new {
ID = p.ProductID,
Name = p.Name
};
}
Protected Sub LinqDataSource_Selecting(sender As Object, e As LinqDataSourceSelectEventArgs)
Dim exampleContext As New ExampleDataContext()
e.Result = From p In exampleContext.Products Where p.Category = "Beverages"
Select New With { _
Key .ID = p.ProductID, _
Key .Name = p.Name _
}
End Sub
В следующем примере показано, как задать Result для свойства массив строковых значений, определенный на веб-странице.
public partial class Default3 : System.Web.UI.Page
{
string[] citiesArray =
{
"Atlanta",
"Charlotte",
"Denver",
"New York",
"San Francisco"
};
protected void Page_Load(object sender, EventArgs e)
{
}
protected void LinqDataSource_Selecting(object sender, LinqDataSourceSelectEventArgs e)
{
var cities = from city in citiesArray
where city.CompareTo("B") > 0
select city;
e.Result = cities;
// Or we could set e.Result = citiesArray to return all rows.
}
}
Partial Class Default3
Inherits System.Web.UI.Page
Dim citiesArray() As String = _
{ _
"Atlanta", _
"Charlotte", _
"Denver", _
"New York", _
"San Francisco" _
}
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
End Sub
Protected Sub LinqDataSource_Selecting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.LinqDataSourceSelectEventArgs) Handles LinqDataSource1.Selecting
Dim cities = From city In citiesArray _
Where city > "B" _
Select city
e.Result = cities
' Or we could set e.Result = citiesArray to return all rows.
End Sub
End Class
Комментарии
По умолчанию элемент управления применяет свои выражения запроса к объекту, LinqDataSource определенному в свойстве TableName . В обработчике Selecting события можно вручную изменить запрашиваемый объект, присвоив свойству Result значение объекта . Например, можно использовать Result свойство для запроса коллекции в памяти на веб-странице или для получения результатов из выражения запроса LINQ. Для свойства можно задать любой Result объект. Если объект не реализует IEnumerable<T> интерфейс , LinqDataSource элемент управления заключает объект в объект, реализующий IEnumerable<T> интерфейс .
Если для Result свойства задано любое значение, отличное от null
, LinqDataSource элемент управления не запрашивает объект, определенный в свойстве TableName . Вместо этого он запрашивает объект в свойстве Result .
Примечание
Если для свойства задан Result объект , не используйте для null
представления объекта, который не содержит никаких данных. Элемент LinqDataSource управления интерпретирует null
как означает, что Result свойство не задано, и он создает и запрашивает объект в свойстве TableName . Чтобы представить объект, не содержащий данных, задайте Result для свойства IList объект или IList<T> , который не содержит никаких элементов.
События ContextCreating, ContextCreatedи ContextDisposing не возникают при программном присвоении Result свойству объекта и при применении двух дополнительных условий. Условия: либо исходные значения не должны храниться в состоянии представления, либо объект в свойстве ResultITable реализует интерфейс .