В моем представлении MVC3 у меня есть текстовое поле, связанное со свойством Model, например:
<tr>
<td>Name contains:</td>
<td>@Html.TextBoxFor(model => model.NameContains, new { @style = "width:99%" })</td>
<td>@Html.ImageButton("Search", "nameContainsSearchButton")</td>
</tr>
Кнопка My Image используется в фрагменте скрипта для вызова соответствующего метода на контроллере, который возвращает частичное представление, например так:
<script type="text/javascript">
$(function () {
$('#nameContainsSearchButton').click(function () {
var data = $("#NameContains").val();
// send an AJAX request to the controller action
$('#searchResults').load("/QuickSearch/Search", data);
return false;
});
});
Как вы можете видеть, я пытаюсь передать значение TextBox 'NameContains' в качестве параметра моему методу контроллера. Однако параметр, полученный методом, всегда равен нулю.
Кто-нибудь знает, что я делаю не так?
Заранее спасибо,
Люсьен.
РЕДАКТИРОВАТЬ: я получил вышеупомянутый рабочий, изменив вызов на:
$('#searchResults').load("/QuickSearch/Search", {nameContains: data});
где nameContains
- имя параметра в методе действия.
У меня есть дополнительный вопрос: как я могу передать всю Модель в качестве параметра методу действия? Есть еще одна страница, где пользователь может ввести множество критериев поиска, и я хочу просто передать весь объект модели критериев поиска контроллеру ...