0

MVC3 を使用して検索を実装する必要があります。ユーザーは任意の単語を検索できます。単一の単語のみを記述しても問題なく動作し、ルートは
/search/toy の
ようになり 、コントローラー メソッドによっておもちゃが認識されます。

しかし、「子供のおもちゃ」のようなスペースのあるものを検索したい場合は、ルートにスペースがあり、コントローラーメソッドでそれを単語として認識せず、
/search/kids%20toyのようなエラーをスローします

誰かが彼のプロジェクトでそのようなことを実装していますか plz help.

前もって感謝します。

4

1 に答える 1

0

「おもちゃ」というアクションがあるようです。

// maps to /search/
public class Search : Controller
{
    // maps to /search/toy
    public ActionResult Toy()
    {
    }
}

デフォルト ルートをまったく変更していない場合は、{controller}/{action}/{id} を使用する必要があります。(もちろん、別の種類のルートを実行する場合は、ルーティングを調べる必要があります。ASP.NET MVC ルーティングについては Google に問い合わせてください)

最も速い方法は次のとおりです。

// maps to /search
public class Search : Controller
{
    // maps to /search/for/{id}
    public ActionResult For(string id)
    {
        // search for id 
    }
}

/search/for/kids%20toy として使用できます。

または、id 以外の名前のパラメーターに querystring を使用できます。

// maps to /search
public class Search : Controller
{
    // maps to /search/ by default, check route config
    public ActionResult Index(string query)
    {
        // search for query
    }
}

{controller}/{action}/{query} または {controller}/{query} を使用できるようにするには、ルートを作成する必要がありますが、/search/?query=kids%20toy でそのルートに対処できます

于 2013-06-26T14:45:53.083 に答える