---
title: "Vad är snabbast DataBinder.Eval, Container.DataItem eller DataRowView?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/159636-vad-är-snabbast-databinder-eval-container-dataitem-eller-datarowview"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "Lukaspojken"
published: "2007-04-25T09:00:24.000Z"
updated: "2007-04-27T15:30:25.000Z"
replies: 6
views: 800
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/159636-vad-är-snabbast-databinder-eval-container-dataitem-eller-datarowview"
---

# Vad är snabbast DataBinder.Eval, Container.DataItem eller DataRowView?

## #1 — Lukaspojken, 2007-04-25T09:00Z

Vilken av dessa rader är den snabbaste? Är det den nedersta raden eftersom den varken använder sig av reflection eller ctype?

```
<%# DataBinder.Eval(Container.DataItem, "Name") %>

<%# CType(Container.DataItem, System.Data.DataRowView)("Name") %>

<%# Container.DataItem("Name") %>
```

Permalänk: https://www.webforum.nu/p/159636

## #2 — inspiro, 2007-04-26T13:29Z

Ursäkta om jag lånar din tråd lite, men får man även passa på att fråga vad exakt det är man egentligen gör när man skriver så här i sin repeater, datalist eller vad det nu kan vara... :)

Permalänk: https://www.webforum.nu/p/1970210

## #3 — emission, 2007-04-26T16:00Z

Det är tänkbart att det sista alternativet är snabbare, men det är inget alternativ i C#, eftersom det inte är typsäkert. Om man programmerar VB och inte tänker uppgradera till C# så kan man dock använda den. 

```
<%Eval("Name") %>
```

skulle jag rekommendera.

Permalänk: https://www.webforum.nu/p/1970253

## #4 — emission, 2007-04-26T16:00Z

> **inspiro skrev:**
>
> Ursäkta om jag lånar din tråd lite, men får man även passa på att fråga vad exakt det är man egentligen gör när man skriver så här i sin repeater, datalist eller vad det nu kan vara... :)

Man hämtar ut värden från den datakälla som man knutit till kontrollen.

Permalänk: https://www.webforum.nu/p/1970254

## #5 — Lukaspojken, 2007-04-27T04:41Z

Tack för ditt svar! \<%Eval("Name") %\> har jag aldrig tidigare sett. Är det någon förkortning på \<%# DataBinder.Eval(Container.DataItem, "Name") %\>? Eller vad innebär den? Sen förstod jag inte riktigt varför du skulle rekommedera den :) Jag menar är \<%Eval("Name") %\> snabbast eller enbart typsäkerhet eller både och?

Permalänk: https://www.webforum.nu/p/1970342

## #6 — ordell, 2007-04-27T08:50Z

Snabbast lär vara explicit konvertering.

\<%# ((Customer)Container.DataItem).CustomerID.ToString() %\> t ex. (C#) Om man binder mot t ex en List\<Customer\> och Customer.CustomerID är en Int32.

Så svaret på din fråga är alternativ 2.

http://groups.google.com/group/microsoft.public.dotnet.framework.aspnet/browse_frm/thread/5d3c727cac4537fc/a02b1685ae0f63c0?q=DataBinder.Eval(Container&rnum=4&hl=en#a02b1685ae0f63c0

Permalänk: https://www.webforum.nu/p/1970379

## #7 — emission, 2007-04-27T15:30Z

> **Lukaspojken skrev:**
>
> Tack för ditt svar! \<%Eval("Name") %\> har jag aldrig tidigare sett. Är det någon förkortning på \<%# DataBinder.Eval(Container.DataItem, "Name") %\>?

Japp, i ASP.NET 2.0.

> **Lukaspojken skrev:**
>
> Sen förstod jag inte riktigt varför du skulle rekommedera den :) Jag menar är \<%Eval("Name") %\> snabbast eller enbart typsäkerhet eller både och?

Jag menar att det ger den tydligaste lagerseparationen och jag undviker helst hårdtypad kod i aspx-filerna. Då lägger jag hellre en asp:label el. liknande på plats och sätter dess innehåll från codebehind.

Permalänk: https://www.webforum.nu/p/1970465

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/159636-vad-är-snabbast-databinder-eval-container-dataitem-eller-datarowview
