0

コントローラーに検索機能があり、うまく機能するページがあります

[HttpPost]
public virtual ActionResult Search(SearchModel model)
{
    ...adds to IEnumerable and such
    return View(model);
}

私の問題は、検索ボックスのある別のページがあり、上記と同じビューにリダイレクトする必要があることです。(URLのパラメーターはオプションではありません)

    @using (Html.BeginForm("Search", "Home", FormMethod.Post, null))
    {
       @Html.TextBoxFor(t => t.SearchModel) 
       <input.....
    } 

しかし、それは正しいURLをロードしておらず、現在のURLに追加しているだけです。そのため、example.com / Home / Searchの代わりに、そのフォームが現在配置されている場所の最後に追加します。したがって、ページがexample.com/About/SearchPageにある場合は、t.SearchModelをAbout/Searchpageに追加します。

編集:2つの異なるコントローラーとビューがあります。ControllerAとViewAは正常に動作し、検索結果が返されます。入力ボックスのあるViewBにViewAを呼び出して、ControllerAの検索手法を使用してもらいたい

4

1 に答える 1

1

ネストされたフォームがあります。これは有効な HTML ではありません。HTML では、あるフォームを別のフォーム内に配置することはできません。1 つのページに複数のフォームを含めることができますが、それらをネストすることはできません。

「別のセクション」の意味もわかりませんが、Razor の @section キーワードのことですか? それともMVCエリアのことですか?または、他の何か?

于 2012-10-11T20:51:31.207 に答える