Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

How to move items from one listbox to another on a client side?

0 views
Skip to first unread message

bogdan

unread,
Apr 28, 2008, 11:57:29 AM4/28/08
to
Hi,

I have two listboxes on a page and need to move items between them - using
buttons (e.g. "<<" ">>"). Can this be done on a client side in asp.net?
I'd like to avoid hitting the server on every add/remove.

Thanks,
Bogdan


Mark Rae [MVP]

unread,
Apr 28, 2008, 12:09:05 PM4/28/08
to
"bogdan" <bog...@nospam.com> wrote in message
news:OhoYLhUq...@TK2MSFTNGP02.phx.gbl...

> I have two listboxes on a page and need to move items between them - using
> buttons (e.g. "<<" ">>"). Can this be done on a client side in asp.net?
> I'd like to avoid hitting the server on every add/remove.

http://www.google.co.uk/search?sourceid=navclient&hl=en-GB&ie=UTF-8&rlz=1T4GZEZ_en-GBGB252GB252&q=asp%3aListBox+JavaScript+move


--
Mark Rae
ASP.NET MVP
http://www.markrae.net

Cowboy (Gregory A. Beamer)

unread,
Apr 28, 2008, 12:08:56 PM4/28/08
to
You can move them using JavaScript, if you wish. You will still have to take
a server trip to commit back to the database, however. A simple example is
here (will not vouch for code, however):

http://www.codeproject.com/KB/aspnet/Listbox_or_combo_box.aspx

--
Gregory A. Beamer
MVP, MCP: +I, SE, SD, DBA

Subscribe to my blog
http://gregorybeamer.spaces.live.com/lists/feed.rss

or just read it:
http://gregorybeamer.spaces.live.com/

*************************************************
| Think outside the box!
|
*************************************************


"bogdan" <bog...@nospam.com> wrote in message
news:OhoYLhUq...@TK2MSFTNGP02.phx.gbl...

bogdan

unread,
Apr 28, 2008, 3:26:37 PM4/28/08
to
Thanks for the reply. Since I'm rather new to asp.net I think I
miscalculated what I could do on the client side. I have the code working
moving items between listboxes but have no clue how to pass items of one of
the listboxes back to the server. I could put a 'Save' button that would
post back to the server but I don't know how to pass the new set of items in
the listbox. The old ones are in the viewstate. Is there a way to do that?
I might try to select all items on the client side before posting back but
I'm afraid that this might not work because of discrepancies between old
items and selected ones (e.g. selected items were not present in the list
when it was sent to the client).

Any help would be appreciated.

Thanks,
Bogdan


"Cowboy (Gregory A. Beamer)" <NoSpamM...@comcast.netNoSpamM> wrote in
message news:e0yOpoUq...@TK2MSFTNGP03.phx.gbl...

Mark Rae [MVP]

unread,
Apr 28, 2008, 3:37:06 PM4/28/08
to
"bogdan" <bog...@nospam.com> wrote in message
news:emTYDWWq...@TK2MSFTNGP03.phx.gbl...

> Thanks for the reply. Since I'm rather new to asp.net I think I
> miscalculated what I could do on the client side. I have the code working
> moving items between listboxes but have no clue how to pass items of one
> of the listboxes back to the server. I could put a 'Save' button that
> would post back to the server but I don't know how to pass the new set of
> items in the listbox. The old ones are in the viewstate. Is there a way
> to do that? I might try to select all items on the client side before
> posting back but I'm afraid that this might not work because of
> discrepancies between old items and selected ones (e.g. selected items
> were not present in the list when it was sent to the client).

Client-side changes to the element collection of listboxes are not persisted
across a postback.

Therefore, the "usual" workaround for this is to populate a hidden text box
with as much information as the server-side code needs for its purposes.

E.g. if the "first" listbox contains the following elements:

First
Second
Third
Fourth
Fifth

and it's possible client-side to move any or all of these elements into the
"second" listbox, just before the postback happens (e.g. in the
OnClientClick of a button control) inspect the contents of the "second"
listbox. Let's say that the second listbox now contains the first, third and
fifth elements from the first listbox. Therefore, place the following value
in a hidden text box: "1¬3¬5". This will be posted back to the server along
with the rest of the web form where it will be a simple matter to parse out
the value and identify which of the elements had been moved from the first
listbox to the second.

0 new messages