DataBinding expressions with multiple fields

Discussion in 'ASP .Net' started by Nathan Sokalski, Sep 4, 2008.

  1. 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

    http://www.nathansokalski.com/
     
    Nathan Sokalski, Sep 4, 2008
    #1
    1. Advertising

  2. Nathan Sokalski

    bruce barker Guest

    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.
     
    bruce barker, Sep 4, 2008
    #2
    1. Advertising

  3. 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

    http://www.nathansokalski.com/

    "bruce barker" <> wrote in message
    news:...
    > 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.
     
    Nathan Sokalski, Sep 5, 2008
    #3
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Vik

    '&' in DataBinding expressions

    Vik, Apr 21, 2004, in forum: ASP .Net
    Replies:
    1
    Views:
    336
    mikeb
    Apr 21, 2004
  2. jobs
    Replies:
    0
    Views:
    1,631
  3. Earl Teigrob
    Replies:
    1
    Views:
    406
    Shravan
    Mar 1, 2004
  4. Nathan Sokalski

    DataBinding expressions with multiple fields

    Nathan Sokalski, Sep 4, 2008, in forum: ASP .Net Web Controls
    Replies:
    2
    Views:
    166
    Nathan Sokalski
    Sep 5, 2008
  5. Replies:
    0
    Views:
    288
Loading...

Share This Page