Я новичок, изучая пример текстового поля Autocomplete. То, что я не понимаю, находится в функции «AutoCompleteHelper» в моем контроллере, вход должен быть назван «term». Если я назову его чем-то другим, например «mystr» или «reqstr», то во время отладки он всегда будет говорить, что вход «null». Я не определял «термин» где-либо еще в моих .js и .cshtml. Я фактически назвал его name = "q" в .cshtml файле. Что заставляет меня использовать название «термин»?Основы MVC - параметр ввода контроллера
код контроллера:
string[] txtlst = {"ActionScript", "AppleScript",
"Asp", "BASIC", "C", "C++", "Clojure",
"COBOL", "ColdFusion", "Erlang", "Fortran",
"Groovy", "Haskell", "Java", "JavaScript",
"Lisp", "Perl", "PHP", "Python", "Ruby", "Scala", "Scheme"};
public JsonResult AutoCompleteHelper(string term) {
if (!Request.IsAjaxRequest()) return null;
var lst = txtlst.Where(s => s.StartsWith(term)).ToList();
var res = lst.Select(x => new { value = x, label = x });
return Json(res, JsonRequestBehavior.AllowGet);
}
.js код:
$("input[data-autocomplete-source]").each(function() {
$(this).autocomplete({ source: $(this).attr("data-autocomplete-source") });
});
});
.cshtml код:
<p>Auto Complete Example</p>
<input type="text" name="q" data-autocomplete-source="@Url.Action("AutoCompleteHelper", "Home")" />
ли я с видом/то недоразумение? Я не понимаю, почему я исправлен, чтобы использовать термин «term» в качестве моего имени параметра.
ohh okay! Итак, есть ли где-нибудь, где я могу определить свое собственное имя параметра? Я думал, что мое имя = «q» делает это, если нет, что это такое? В общем, как я могу проверить, какие параметры (ы) и их имя (имена) каждый другой Помощник передают в строку запроса? Извините о моих проблемах со спамом. – Tom
@Tom Я думаю, что вы установили его в своем контроллере с помощью 'AutoCompleteHelper (строковый термин)', если вы измените его на 'AutoCompleteHelper (строка q)' Я думаю, что он изменит его на q – Manatherin
@Manatherin no, вы это пробовали? когда я его запускаю, q равно null. это может быть только термин. – Tom