PassMark Logo
Home » Forum

Announcement

Collapse
No announcement yet.

Search Problem with ASP.NET page

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Search Problem with ASP.NET page

    Hi,

    I'm working on ASP.NET and I follow the FAQ to configure my search page correctly.

    I put a textbox searching in my MasterPage and when I search with it it's work. The probleme is when I try to change the searching value in my search page. It's always take my first search ...

    thx

  • #2
    Can you post the URL to your search page so that we can see the problem.

    Comment


    • #3
      Hi,

      I can't because for now I work in local...

      But here some generated Html code :

      <!--Zoom Search Engine Version 5.1 (1011)-->
      <form method="get" action="http://localhost:1112/WebSite/Site/Search.aspx" class="zoom_searchform">
      Search for: <input type="text" name="zoom_query" size="20" value="undefined" class="zoom_searchbox" />
      <input type="submit" value="Submit" class="zoom_button" />
      <span class="zoom_results_per_page">Results per page:
      <select name='zoom_per_page'><option selected="selected">10</option><option>20</option><option>50</option><option>100</option></select><br /><br /></span>
      <span class="zoom_match">Match:
      <input type="radio" name="zoom_and" value="0" checked="checked" />any search words
      <input type="radio" name="zoom_and" value="1" />all search words
      <input type="hidden" name="zoom_sort" value="0" />
      <br /><br /></span>
      </form>
      <div class="searchheading">Search results for: undefined<br /><br /></div>
      <div class="results">
      <div class="summary">
      No results found.<br />
      </div>
      </div>

      Hope that can help

      Comment


      • #4
        Originally posted by Kiboumz View Post
        I put a textbox searching in my MasterPage and when I search with it it's work. The probleme is when I try to change the searching value in my search page. It's always take my first search ...
        Let me check if I understand you correctly... do you mean that when you enter text into the search boxes on the other pages of your site, the search query works fine. But when you enter the text into the search box on the search page itself, it will not work, and return no results?

        And you have embedded the search page within your own ASPX page as described here?

        If so, it would sound to me that the problem is either:

        (a) An incorrect Link back URL specified on the "Advanced" tab of the Configuration window. Is "http://localhost:1112/WebSite/Site/Search.aspx" the correct location of your ASPX search page?

        (b) Your ASPX search page is missing the code which passes the GET parameters to the CGI as a QUERY_STRING. Check the example given on the .NET support page again. If you have modified this significantly, you may want to send us your ASPX page so we can check.
        --Ray
        Wrensoft Web Software
        Sydney, Australia
        Zoom Search Engine

        Comment


        • #5
          Hi,

          Thx for your reply.

          You understand my problem correctly. My link back url is like you said.

          Here my code :

          Search.aspx
          Code:
          <%@ Page Language="C#" MasterPageFile="MasterPage.master" AutoEventWireup="true" CodeFile="Search.aspx.cs" Inherits="Recherche"%>
          
          <asp:Content ID="contentMain" ContentPlaceHolderID="ContentPlaceHolder" Runat="Server">
              <div ID="divSearchResult" Runat="Server">
              
              </div>
          </asp:Content>
          Search.aspx.cs
          Code:
          public partial class Search : BasePage
              {
                  protected void Page_Load(object sender, EventArgs e)
                  {
                      string paramStr = "";
                      int parampos = Request.RawUrl.IndexOf("?");
                      if (parampos >= 0)
                          paramStr = Request.RawUrl.Substring(parampos + 1);
          
                      ProcessStartInfo psi = new ProcessStartInfo();
                      psi.FileName = Server.MapPath("../Search/search.cgi");
                      psi.EnvironmentVariables["REQUEST_METHOD"] = "GET";
                      psi.EnvironmentVariables["QUERY_STRING"] = paramStr;
                      psi.EnvironmentVariables["REMOTE_ADDR"] = Request.ServerVariables["REMOTE_ADDR"];
                      psi.RedirectStandardInput = false;
                      psi.RedirectStandardOutput = true;
                      psi.UseShellExecute = false;
                      Process proc = Process.Start(psi);
                      proc.StandardOutput.ReadLine(); // skip the HTTP header line
                      string zoom_results = proc.StandardOutput.ReadToEnd(); // read from stdout
                      proc.WaitForExit();
                      // Print the output
                      //Response.Write(zoom_results);
                      divSearchResult.InnerHtml = zoom_results;
                  }
              }
          thx.
          Last edited by Kiboumz; Jan-22-2008, 08:15 PM.

          Comment


          • #6
            Hi,

            I think I found why this problems occur.

            It's because on the same page I got two search textbox. If I remove one, it's work, but I need to have two.

            One at the left top corner and one in the Aspx page.

            Nervertheless, I don't know how I could result this problem ...

            Comment


            • #7
              Hi,

              I think I found a solution.

              Instead of using what you propose in the FAQ. I use the Asp.Net control like this :

              <asp:TextBox ID="txtSearch" Runat="Server" />
              <asp:Button ID="btnSearch" Runat="Server" OnClick="btnSearch_Click" Text="Go" />

              protected void btnSearch_Click(object sender, EventArgs e)
              {
              Response.Redirect("MySearchPagePath.Asxp?zoom_quer y=" + txtSearch.Text);
              }

              And that seems work better than your solution.

              Comment


              • #8
                That should work, and I'm glad to hear you've got it in the end.

                When you referred to what was proposed in the FAQ, were you using the search form as described on the ASP.NET page below?
                Q. How do I create a search form on my ASPX pages?

                Note that this is a different form to those given for non-ASPX pages. I'm curious because that should work despite the multiple textboxes on your page.
                --Ray
                Wrensoft Web Software
                Sydney, Australia
                Zoom Search Engine

                Comment


                • #9
                  Hi,

                  Yes I was using the Aspx search form proposed in the FAQ and it's wasn't fonctionned correctly.

                  Comment


                  • #10
                    Oh I just re-read your post, and see now that you meant you have two search boxes (presumably of the same variable name, ie. "zoom_query") on the same page. It should not be a problem if you have multiple text boxes on the page (with different variable names), but yes, it would be an issue if they have the same name. In that case, your above solution would be better.
                    --Ray
                    Wrensoft Web Software
                    Sydney, Australia
                    Zoom Search Engine

                    Comment


                    • #11
                      Hi,
                      I have the same problem and the solution proposed by Kiboumz doesn't work. The same problem with the solution proposed in the FAQ "Q. How do I create a search form on my ASPX pages?"
                      Any suggestions?

                      Fra

                      Comment


                      • #12
                        If you had exactly the same problem, then the same solution should work. Maybe it would help if you described your problem, the code your are using and give a URL to the page in question.

                        Comment


                        • #13
                          I have the same problem, and didn't manage to get it to work.. I understand that it could be the problem of the same variablenames? Do you mean the "?zoom_query=". I think this isn't possible to change, or am i wrong?

                          here is my code:
                          masterpage:
                          <asp:TextBox ID="txtSearch" runat="server"></asp:TextBox>
                          <asp:Button ID="btnSearch" runat="server" OnClick="btnSearch_click" Text="Search" />
                          protected void btnSearch_click(object sender, EventArgs e)
                          {
                          Response.Redirect("search.aspx?zoom_query=" + txtSearch.Text);
                          }
                          ==> this works fine

                          On my search page:
                          protected void Page_Load(object sender, EventArgs e)
                          {
                          string paramStr = "";
                          int parampos = Request.RawUrl.IndexOf("?");
                          if (parampos >= 0)
                          paramStr = Request.RawUrl.Substring(parampos + 1);

                          ProcessStartInfo psi = new ProcessStartInfo();
                          psi.FileName = @"f:\inetpub\vhosts\xxx\subdomains\xxx\cgi-bin\search.cgi";
                          psi.EnvironmentVariables["REQUEST_METHOD"] = "GET";
                          psi.EnvironmentVariables["QUERY_STRING"] = paramStr;
                          psi.EnvironmentVariables["REMOTE_ADDR"] = Request.ServerVariables["REMOTE_ADDR"];
                          psi.RedirectStandardInput = false;
                          psi.RedirectStandardOutput = true;
                          psi.UseShellExecute = false;
                          Process proc = Process.Start(psi);
                          proc.StandardOutput.ReadLine(); // skip the HTTP header line
                          string zoom_results = proc.StandardOutput.ReadToEnd(); // read from stdout
                          proc.WaitForExit();
                          // Print the output
                          //Response.Write(zoom_results);
                          divSearchResult.InnerHtml = zoom_results;

                          }
                          ==> If I fill in my searchbox en tap the submit button, it still searches for the keyword I entered before (in my searchbox from the masterpage).

                          Anyone?

                          thx

                          Comment


                          • #14
                            Can you post the URL to the page in question so that we can see the problem.

                            Comment


                            • #15
                              http://kerkstoel.interhostsolutions.be

                              Right in top corner you'll find the searchbox

                              Comment

                              Working...
                              X