Here's the scenario:

Let's say I passed a couple of querystring to populate my datalist on another page. Then I want to filter/refine that datalist further by clicking on links( which are dynamically created depending on the data on the datalist) and when clicked will pass another querystring to create a new refined datalist.

Can anyone guide me on how to do this?

For starters I would define your queries as global variables in your code-behind:

string queryString1 = "default starting string here";
    string queryString2 = "default starting string2 here";

I would then proceed to call these strings in the required data population procedures.

For your link you can go about it in a couple of ways.

If you're using a hyperlink you can use something along the lines of and parse the ClientQueryString value with:

string getQuery = ClientQueryString; //obtain variables from passed link ?passedinstruction

and parse as necessary depending on what variables you decide to pass to activate the required queryString change.

If you're using buttons, you can modify the querystrings directly with the onClick function of the button and reload the page (if necessary) with the Response.Redirect( call.

For the dynamically created URLs you can set your hyperlinks to <asp:hyperlink> type or buttons can have variables set dynamically in the way they modify the querystrings based on whatever processes you specify in your onClick.

Hope this helps :) If it solves your issue please mark as solved.