Вы потеряете свое состояние просмотра, если вызовете действие, которое возвращает представление. Вы можете передавать данные между действиями, используя TempData, если хотите, но это, вероятно, не решит вашу проблему. Похоже, что вы хотите здесь, это действие, которое возвратит элемент JSON, который вы можете вызвать с помощью некоторого асинхронного JavaScript.
Для вашего действия у вас будет:
public ActionResult GetSuggestions(string searchText)
{
return Json(new { SearchText = searchText + "completestring"});
}
А затем в вашей форме у вас есть какой-то асинхронный JavaScript с использованием jQuery:
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();
}
}
Это позволит вам получить некоторую информацию с вашего сервера, не публикуя форму и не нарушая состояния клиента.
Здесь приведена полная запись примера , который может помочь.