私はURL持っているのフォーム入力:ASP.NET MVC:プリティURL
出荷/検索/ {て、searchTypeを}/{searchValue}
とコントローラのアクション:だから
// ShipmentSearchType is an enum ... PartNumber, CustomerOrder, etc...
ActionResult Search(ShipmentSearchType searchType, string searchValue)
出荷/検索/製品型番/ウィジェット-01
とGe:これは、私はかなりのようなURLで入力することができることを意味しますその部品番号のすべての出荷のリスト。
私はアプリケーションの忙しい仕事をしており、パートナンバーを尋ねる検索フォームを作成しており、それが検索にポストバックします。だから、基本的に私がしたい:
出荷/検索/製品型番/ {ユーザ入力-の-テキストボックス}
残念ながら、私は、フォームが上記のURLを取得することはできません - それは、サーバー側を生成する必要があります。だから代わりに、私はpost/request/postNumberに{post-request}値として{user-input}のフォームを返すでしょう。
[AcceptVerbs(HttpVerbs.Post)]
ActionResult Search(ShipmentSearchType searchType, string searchValue, bool? post)
{
return RedirectToAction("Search", new { searchType = searchType, searchValue = searchValue});
}
2物事:
は、だから私はで終わる
1)私は、クライアント側のJavaScriptを使用せずに、検索のPOSTメソッドを持つ周りを取得することができます方法はありますか?
2)bool?ポスト値はちょうどそこにあるので、彼らは異なった署名を持っています。それは明らかに醜いです。これを行うよりスマートな方法はありますか?
ありがとうございます!
編集:
「残念ながら、私は(少なくとも、javascriptをせずに)フォームからのことを行うことができるとは思いません。」 & "javascriptを使わずに投稿してもらう方法はありますか?"
これは少し曖昧でした。私が意味することは、私はフォームがフォーム/ url/Ship/Search/PartNumber/{value-from-textbox}を生成し、それをフォームメソッドgetに持たせることができないと思います。私はこれがjavascript(URLを動的に構築するためにサブミットアクションをオーバーライド)で行うのは簡単だと思いますが、私はそれをやっていません。私は、javascriptが投稿を行うのに必要であるということを意味しませんでした。
私はあなたがjavascriptなしでそれをすることができない理由が表示されません。あなたはなぜあなたができないと思うか説明できますか? –