0

ASP.NETMVC3のモバイルWebサイトで作業しています。ヘッダーに検索バーがあるページがあります。このヘッダーは、他のすべてのビューに共通のレイアウトページから取得されます。そして、私の特定のページの中に、ページ固有のコンテンツ(フォーム)があります。

ここに画像の説明を入力してください

私の行動のために、私は私のに強くタイプされたCustomer/Addビューの追加を返します。追加ビューにフォームタグがあり、フォームが送信されたときにアクションメソッドに投稿されます。それは結構です。私の質問は、検索ボックスのコンテンツをどのように処理するのですか?ページで許可されるフォームは1つだけだと思います。したがって、検索ビュー(部分)にバインドされているフォームがある場合、ページでは2つのフォームになります。だから私はそれをすることはできません。CustomerCustomerViewModelHttpPost AddSearchViewModel

Javaスクリプトのコンテンツを読み取り、別のアクションを呼び出して検索結果を取得することで、検索部分を処理できます。これを行う唯一の方法はありますか?Javaスクリプトが無効になっているデバイスが心配です。私は何をすべきか ?ご意見をお聞かせください

4

1 に答える 1

1

いいえ。ページに複数のフォームを含めることができます。実際、ここであなたはすべきです。[顧客の追加]ページは1つのアクションメソッドに送信する必要がありますが、検索フォームは別のアクションメソッドに送信する必要があります。

Webフォームに精通している場合、そのフレームワークではページに1つのフォームしか含めることができませんが、HTMLで必要なためではありません。フレームワークがPOSTリクエスト全体でさまざまなサーバーコントロールからのすべてのデータを運ぶことができる唯一の方法であるため、Webformsはそれを必要とします(ViewStateを使用)。Webformsは、これまでHTMLやHTTPにあまり対応していませんでした。

HTMLの他のフォーム内にフォームをネストすることはできませんが、1つのページに複数のフォームを含めることは完全に合法です(MVCでは推奨されます)。

AJAXに関しては、JavaScriptが有効になっていないデバイスについては心配しません。地球上にWebデバイスにJavaScriptがない人は6〜7人しかいません。誰かがJavaScriptを無効にすると、とにかく残りのWebの99%を体験できなくなります。

于 2012-04-10T16:32:51.650 に答える