By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
434,808 Members | 1,477 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 434,808 IT Pros & Developers. It's quick & easy.

DataBinding expressions with multiple fields

P: n/a
I have a Repeater that uses a DataSource that has multiple fields. When the
values of these fields is displayed in the Repeater, there are fields that
are used in combination with other fields as well as by themselves. For
example, there may be a firstname field that is used in combination with a
lastname field as well as by itself. Using it by itself is simple, I have
done that many times. However, is there a way to use multiple fields in a
single databinding expression (sort of like the way you do in the
String.Format() function)? I realize that I could use string manipulation
inside the <%# %>, but that could sometimes be messier than I would like. I
also realize that I could have my database query simply return firstname+'
'+lastname and return lastname, but if I could do it in the databinding
expression it would make it easier to change my page if necessary, as well
as avoiding the need to write separate stored procedures if the same data is
used for multiple pages. Does anybody know if there is a function that can
do something like this (or whether there will be in any future versions of
..NET, I am currently using 2.0)? Thanks.
--
Nathan Sokalski
nj********@hotmail.com
http://www.nathansokalski.com/
Sep 4 '08 #1
Share this Question
Share on Google+
2 Replies


P: n/a
just use a string.Format() as it works just like string.Format()

<%# string.Format("{0} {1}",
((DataRow)Container.DataItem)["FirstName"],
((DataRow)Container.DataItem)["LastName"])
%>

-- bruce (sqlwork.com)
Nathan Sokalski wrote:
I have a Repeater that uses a DataSource that has multiple fields. When the
values of these fields is displayed in the Repeater, there are fields that
are used in combination with other fields as well as by themselves. For
example, there may be a firstname field that is used in combination with a
lastname field as well as by itself. Using it by itself is simple, I have
done that many times. However, is there a way to use multiple fields in a
single databinding expression (sort of like the way you do in the
String.Format() function)? I realize that I could use string manipulation
inside the <%# %>, but that could sometimes be messier than I would like. I
also realize that I could have my database query simply return firstname+'
'+lastname and return lastname, but if I could do it in the databinding
expression it would make it easier to change my page if necessary, as well
as avoiding the need to write separate stored procedures if the same data is
used for multiple pages. Does anybody know if there is a function that can
do something like this (or whether there will be in any future versions of
.NET, I am currently using 2.0)? Thanks.
Sep 4 '08 #2

P: n/a
Thank you, that will probably make it easier since it allows me to combine
the fields in the databinding. However, I was asking more about something
like an overload of DataBinder.Eval that looked something like the following
(I know that this is not currently an existing overload, but I wish it was):

<%# DataBinder.Eval(Container.DataItem,"{0}, {1}","lastname","firstname") %>

Notice that the parameters in this include:

Container.DataItem (the same as the existing overloads of DataBinder.Eval)
A format string
The names of the fields to use in the format string

The difference between this and what you suggested is that this only needs
to specify Container.DataItem once, rather than with every field. Basically,
this is nothing but string.Format() with an additional parameter for
Container.DataItem. I am not unhappy with what is available, but considering
how often things such as first and last names, as well as sometimes other
fields, may be combined in DataBinding, I am somewhat surprised that it does
not exist. But I thank you again for your suggestion of string.Format, I
sometimes forget that there are other functions that can be used inside <%#
%>.
--
Nathan Sokalski
nj********@hotmail.com
http://www.nathansokalski.com/

"bruce barker" <no****@nospam.comwrote in message
news:OF**************@TK2MSFTNGP04.phx.gbl...
just use a string.Format() as it works just like string.Format()

<%# string.Format("{0} {1}",
((DataRow)Container.DataItem)["FirstName"],
((DataRow)Container.DataItem)["LastName"])
%>

-- bruce (sqlwork.com)
Nathan Sokalski wrote:
>I have a Repeater that uses a DataSource that has multiple fields. When
the values of these fields is displayed in the Repeater, there are fields
that are used in combination with other fields as well as by themselves.
For example, there may be a firstname field that is used in combination
with a lastname field as well as by itself. Using it by itself is simple,
I have done that many times. However, is there a way to use multiple
fields in a single databinding expression (sort of like the way you do in
the String.Format() function)? I realize that I could use string
manipulation inside the <%# %>, but that could sometimes be messier than
I would like. I also realize that I could have my database query simply
return firstname+' '+lastname and return lastname, but if I could do it
in the databinding expression it would make it easier to change my page
if necessary, as well as avoiding the need to write separate stored
procedures if the same data is used for multiple pages. Does anybody know
if there is a function that can do something like this (or whether there
will be in any future versions of .NET, I am currently using 2.0)?
Thanks.

Sep 5 '08 #3

This discussion thread is closed

Replies have been disabled for this discussion.