Need Some Help With Query Processing

Discussion in 'ASP .Net' started by pbd22, Aug 29, 2007.

  1. pbd22

    pbd22 Guest

    Hi.

    I need some help with structuring my query strings.

    I have a form with a search bar and some links. Each
    link is a search type (such as "community"). The HREF
    for the link's anchor looks like the following:

    <a href="?searchtype=2">Community</a>

    When the user clicks on the Community search type, the query string
    looks like:

    http://www.domain.com/test.htm?searchtype=2

    Then, he puts in his search string, such as "babysitters
    in los angeles".

    I want the string to look like the below before the form
    is posted:

    http://www.domain.com/test.htm?searchtype=2?query=babysitters+in+los+angeles

    But it looks like:

    http://www.domain.com/test.htm?query=babysitters+in+los+angeles

    How do i get the querystring to "add" the query to the searchtype and
    not "replace" the searchtype with the query?

    I thank you.
     
    pbd22, Aug 29, 2007
    #1
    1. Advertisements

  2. You can't do it like this. You need to get the existing query, add a
    new string and pass it to the new url.

    For example,

    string new_url =
    "http://www.domain.com/test.htm?searchtype="
    + Request.QueryString["searchtype"]
    + "&"
    + "query=" + Request.QueryString["query"];
     
    Alexey Smirnov, Aug 29, 2007
    #2
    1. Advertisements

  3. pbd22

    pbd22 Guest

    OK, thanks. I guess I am still a little confused.

    Doesn't your response imply that the querystring is already well
    formed?
    I would need searchtype and query in he querystring to be able to call
    Request.QueryString["searchtype"] or Request.QueryString["query"] .
    If you mean to pull this information from the querystring prior to
    submitting
    the form, I still don't understand how the querystring gets formed. It
    does,
    however, make more sense to simply take local variables where
    searchtype and query are stored and construct the querystring from
    that - if that is OK.

    I am assuming that the new_url string you have is what would be
    created
    when the form is submit? Would you mind showing me how, exactly, the
    new string would get passed to the next page? Filling out the script
    would be helpful to me. below is my form with my query input box:

    <form id="searchWidget">
    <span>&nbsp;</span>
    <input class="query" size="40"
    name="query" type="text">
    <input class="submit" value="Search"
    type="submit">
    <a class="adv" href="/
    index.master_search.aspx?a=a&amp;x=1">Advanced Search</a>
    <span>&nbsp;</span>
    </form>

    Thanks and apologies for my continued confusion here.
     
    pbd22, Aug 31, 2007
    #3
  4. I thought you are talking about ASP.NET. The form you have here is not
    a server form (runat="server") and you cannot use my example with
    Request.QueryString. Either, you have to use a javascript to build url
    and redirect to it, or you can use GET method for example

    <form action="/index.master_search.aspx" method="GET">
    <input class="query" size="40" name="query" type="text">
    <input type="hidden" name="searchtype" value="2"
    <input class="submit" value="Search" type="submit">
    </form>

    When you type "blabla" in the text field and submit the form you would
    be redirected to

    /index.master_search.aspx?query=blabla&searchtype=2
     
    Alexey Smirnov, Aug 31, 2007
    #4
    1. Advertisements

Ask a Question

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

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.