[Mono-list] Problem with DataBinder.Eval(Container.DataItem, "")
David P. Donahue
ddonahue at ccs.neu.edu
Fri Jun 3 23:03:04 EDT 2005
That'll teach me to try in-line when I'm a code-behind man :) Your
approach is definitely working, thanks!
Regards,
David P. Donahue
ddonahue at ccs.neu.edu
Carl Olsen wrote:
> I'm not sure I understand the problem, but you should be able to define a
> function and use it on the DataItem. Say, for example, that I wanted to
> change the color of the text depending on the value of the DataItem (say,
> for example, true and false):
>
> In the code behind page, I have this:
>
> protected System.Drawing.Color GetColorText(DateTime
> resignationDate)
> {
> DateTime todayDate = DateTime.Now;
> if (resignationDate < todayDate)
> {
> return System.Drawing.Color.Pink;
> }
> else
> {
> return System.Drawing.Color.Teal;
> }
> }
>
> In my item template, I call the function, like this:
>
> <asp:label runat="server" text='<%# DataBinder.Eval(Container.DataItem,
> "MemberName") %>' font-bold="True" id="District2" width="100%"
> forecolor='<%# GetColorText((DateTime)DataBinder.Eval(Container.DataItem,
> "ResignationDate")) %>'/>
>
> Does that help?
>
> -----Original Message-----
> From: mono-list-bounces at lists.ximian.com
> [mailto:mono-list-bounces at lists.ximian.com] On Behalf Of David P. Donahue
> Sent: Friday, June 03, 2005 5:25 PM
> To: mono-list at lists.ximian.com
> Subject: [Mono-list] Problem with DataBinder.Eval(Container.DataItem, "")
>
> Not sure if this is a Mono thing or a .NET thing in general, but...
>
> Normally, when I want to bind data to a DataList in ASP .NET, I just
> bind it to a DataSet and the HTML code contains things like:
> <%# DataBinder.Eval(Container.DataItem, "Title") %>
> This manages to display, for each record, the text contained in the
> field "Title" in the DataSet.
>
> Now, I'm trying to add some more logic to that. As far as I know, I'd
> need to lose the # in the opening bracket and I can just write code as
> normal. This code should be in C# if that's what I use in my project,
> right? My first step before adding any other logic was to simply change
> the above to:
> <% Response.Write(DataBinder.Eval(Container.DataItem, "Title")); %>
> However, I get an error at runtime saying that the name "Container"
> can't be found in the class.
>
> Is this by design? Is there another approach I should take? All I'm
> trying to do is add a simple conditional so, based on the contents of
> one field, it will either display another field or display a default.
> Simple enough.
>
> Any ideas?
>
>
> Regards,
> David P. Donahue
> ddonahue at ccs.neu.edu
> _______________________________________________
> Mono-list maillist - Mono-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-list
>
>
>
> _______________________________________________
> Mono-list maillist - Mono-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-list
>
>
More information about the Mono-list
mailing list