I assume this is happening on the postback--you select an item, it posts back and therefore rebuilds the page, and when it rebuilds, you lose your position. One thing to try is putting your div in an UpdatePanel, which will give it a partial postback instead of a full refresh--don't remember if this will actually suppress a scroll reset or not. The more common approach, if that fails, is to handle this in client script--you store the scroll position before posting back, and restore it when you return. Here's a walkthrough example:
Scroll Gridview while Maintaining Scroll Position[
^]