私は一般的に Web プログラミングに慣れていないので、これはおそらく非常に単純な質問です。しかし、ウェブ上では何も見つかりませんでした。
私がやりたいことは、入力された検索文字列を使用してコントローラーを呼び出し、データベースから結果を返し、結果をページ付けすることです。現在、ボタンが押されたときに呼び出される関数を使用しています。関数は次のようになります。
function SubmitSearch() {
var searchBox = document.getElementById('searchBox');
var searchButton = document.getElementById('SearchButton');
$.post("MyController/MyAction/",
{
searchString: searchBox.value,
page: null
}, function(result) {
$('#searchResults').html(result);
searchButton.value = "Search";
});
}
コントローラーが呼び出され、searchResults div に結果が入力され、ページ分割されます。ユーザーは、返された検索結果をクリックして詳細を表示できます。
問題は、ユーザーがブラウザの「戻る」ボタンをクリックすると、ページが検索を開始する前の状態に戻ることです。これは ajax 呼び出しが原因です。私がやりたいことは、コントローラーを呼び出して、Google のようにページをロードすることです。PartialView を使用する代わりに、View を使用します (私の推測では)。
コントローラーを呼び出して、ページに結果をリロードさせるにはどうすればよいでしょうか。これは間違いなく簡単なはずなので、何か基本的なことが欠けているに違いありません。