0

現在、既存の ASP.NET サイトの検索を拡張しようとしています。私のバックグラウンドは Java です。そのため、Java でサーバーを作成していた場合、受信した要求を文字列として処理し、必要に応じて解析して、検索用語を取り出すことができました。

ASP のどの部分がそれを処理しますか? 検索リクエストを処理するために着信文字列が分解される場所をどこで探す必要がありますか? 検索パラメータを含む URL にページをリダイレクトする検索ボタンがあります。サーバーに戻ってくる場所を知る必要があるため、それが私にとってトレイルが冷たくなる場所です。

たとえば、検索用語を精査すると、次のように送信されます。

Response.Redirect("~/shop?" + type + "=" + searchBoxContent);

「タイプ」は検索のタイプ​​で、ブランドや商品説明内の検索などに基づくことができます。

検索を行ったときに URL が .aspx で表示されないため、このサイトはすでに何らかのタイプの URL 書き換えを使用しています。構成ファイルまたは .master.cs ファイル、または正しい方向を示す場所を探す必要がありますか?

4

2 に答える 2

1

次のような URL がある場合:

/shop.aspx?type=abc

次に、Request.QueryStringを使用して の値を取得できますtype。構文は次のとおりです。

Request.QueryString["type"]

たとえば、/shop.aspx?type=abcが初めてロードされたときに値を取得する場合はPage_Load、コード ビハインド ( shop.aspx.cs)内のメソッドに次のコードを追加する必要があります。

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        // assign 'type' query string to typeOfSearch
        string typeOfSearch = Request.QueryString["type"];
    }
}
于 2014-01-19T14:45:18.047 に答える
1

このための最も簡単なシステムは、ルートとパラメーター ハンドラーが組み込まれている ASP.NET MVC です。

ドキュメントについては、 MSDNを参照してください。

例:

{controller}/{action}/{id}

コントローラー アクションにリダイレクトできます。

public ActionResult Find(int id)
{ ... }

これが望ましくない場合は、Scott Guthrie の URL 書き換えに関するブログ記事を参照してください。

于 2014-01-19T14:14:51.770 に答える