Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsFree MagazinesWhite PapersSubmit Content
Discussion GroupsASP.NETWindows FormsLanguages.NET FrameworkVisual Studio.NET
Articles.NET FrameworkASP.NETToolsWindows Forms
.NET DirectoryOpen Source ProjectsUser GroupsWeb Resources
Related Topics
Visual Basic 6SQL ServerMS AccessOther DB ProductsMS Server ProductsMore Topics ...

.NET Forum / ASP.NET / General / February 2008

Tip: Looking for answers? Try searching our database.

<%# DataBinder.Eval(Container.DataItem, "FirstName") %> in a field of a web server control ?

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
abargaddon - 28 Jan 2008 21:03 GMT
Hello everybody,
I need to use bound variables in a field of a web server control which
is inside a template. Many sources in the Web say it works, but for me
it does not, so I have made a test page :

<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

    public class Bidon
    {
        public string OwnerId { get { return "111"; } }
        public string FirstName { get { return "Alberto"; } }
    }

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!this.IsPostBack)
        {
            System.Collections.Generic.List<Bidon> listBidon =
                new System.Collections.Generic.List<Bidon>();
            listBidon.Add(new Bidon());
            listBidon.Add(new Bidon());
            RepeaterCollection.DataSource = listBidon;
            RepeaterCollection.DataBind();
        }
    }

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Ptitle</title>
</head>
<body>
    <form id="form1" runat="server">
    <h2>
        Test Repeater and templates</h2>
    <asp:Repeater ID="RepeaterCollection" runat="server">
        <ItemTemplate>
            ItemTemplate : <%# DataBinder.Eval(Container.DataItem,
"OwnerId") %>
            - <%# DataBinder.Eval(Container.DataItem, "FirstName") %>
            <asp:HyperLink ID="HyperLink2" runat="server"
            Text='eval (<%# DataBinder.Eval(Container.DataItem,
"OwnerId") %>)' />
            <asp:Label ID="Label2" runat="server"
            Text='eval (<%# DataBinder.Eval(Container.DataItem,
"FirstName") %>)' />
            <br />
        </ItemTemplate>
    </asp:Repeater>
    </form>
</body>
</html>

The result I obtain is below : Eval() does not work inside the asp:label
or the asp:hyperlink Text fields :

Test Repeater and templates
ItemTemplate : 111 - Alberto eval () eval ()
ItemTemplate : 111 - Alberto eval () eval ()

Can anyone help me please ?

Sincerely,
Abargaddon
Milosz Skalecki [MCAD] - 29 Jan 2008 00:01 GMT
Howdy,

In AP.NET 2.0 you can use Eval instead of DataBinder.Eval. In addition
remember data bound expressions for server controls must be defined in entire
attribute:
<asp:Label runat="server" Text='<%# "prefix " + Eval("whatever") %>'/>
NOT
<asp:Label runat="server" Text='prefix<%# Eval("whatever") %>'/>

Anyway:
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Ptitle</title>
</head>
<body>
    <form id="form1" runat="server">
    <h2>
        Test Repeater and templates</h2>
    <asp:Repeater ID="RepeaterCollection" runat="server">
        <ItemTemplate>
            ItemTemplate : <%# DataBinder.Eval(Container.DataItem,
"OwnerId") %>
            - <%# DataBinder.Eval(Container.DataItem, "FirstName") %>
            <asp:HyperLink ID="HyperLink2" runat="server" Text='<%#
DataBinder.Eval(Container.DataItem, "OwnerId") %>' />
            <asp:Label ID="Label2" runat="server" Text='<%#
String.Format(DataBinder.Eval(Container.DataItem, "FirstName"), "Surrounding
{0} text" %>' />
            <asp:Label ID="Label3" runat="server" Text='<%# Eval("FirstName")  %>'
            <br />
        </ItemTemplate>
    </asp:Repeater>
    </form>
</body>
</html>

Hope it helps
Signature

Milosz

> Hello everybody,
> I need to use bound variables in a field of a web server control which
[quoted text clipped - 64 lines]
> Sincerely,
> Abargaddon
abargaddon - 02 Feb 2008 21:41 GMT
Hi Milosz,

Thank you a lot, this was indeed my problem.
However, I did not find it mentioned in the MSDN site, although it is an
important detail !

Thank you again, and have a nice sunday.
Abargaddon

Milosz Skalecki [MCAD] a écrit :
> Howdy,
>
[quoted text clipped - 33 lines]
>
> Hope it helps

Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.