ビューを返すアクションを呼び出すと、ビュー ステートが失われます。必要に応じて、TempData を使用してアクション間でデータを渡すことができますが、おそらく問題は解決しません。ここで必要なのは、非同期 JavaScript で呼び出すことができる JSON 要素を返すアクションであるように思えます。
あなたの行動のためにあなたは持っているでしょう:
public ActionResult GetSuggestions(string searchText)
{
return Json(new { SearchText = searchText + "completestring"});
}
そして、あなたのフォームには、jQuery を使用した非同期 JavaScript があります。
function startAutoComplete() {
var searchText = $("#inputText").val();
$.getJSON("/Search/GetSuggestions?searchText=" + searchText, null, autoCompleteResponse);
}
function autoCompleteResponse(data) {
if (data.SearchText) {
$("#inputText").val(data.SearchText);
$("#inputText").select();
}
}
これにより、フォームを投稿したり、クライアントのビューステートをそのまま維持したりすることなく、サーバーからいくつかの情報を取得できます。
ここに役立つかもしれない例の完全な記述があります。