Я пытаюсь создать список для подробного просмотра. затем поместите текстовое поле поиска в верхней части списка. Надеюсь, что результат поиска заменит список частично.
Мой контрольный код вроде:
public ActionResult Index(int? page)
{
Repository repository = new Repository();
var listitems= repository.FindAllItems();
return View(registry_page);
}
public ActionResult Search(string keyword)
{
try
{
Repository repository = new Repository();
var listitems = repository.FindItemsByKeyWord(keyword);
return View("Index", registries);
}
catch
{
return View("Index");
}
}
My View код типа:
<script src="<%= Url.Content("~/Scripts/MicrosoftAjax.js") %>" type="text/javascript"></script>
<script src="<%= Url.Content("~/Scripts/MicrosoftMvcAjax.js") %>" type="text/javascript"></script>
<% using (Ajax.BeginForm("Search", new AjaxOptions { UpdateTargetId = "MyList" }))
{ %>
<p>
Search:
<input id="keyword" name="keyword" type="text" />
<input type="submit" value="Go" />
</p>
<% } %>
<div id="MyList">
<table idth="780px">
...
<% foreach (var item in Model)
{ %>
<tr>
...
</tr>
<% } %>
</table>
</div>
Когда я отправлял форму ajax, она достигла правильного действия Searcn, и я получил правильный результат из хранилища, но список в представлении не был заменен новым результатом.
Если я изменю действие поиска следующим образом:
public ActionResult Search(string keyword)
{
string teststring = "<div>This is a test string to replace the list</div>";
return Content(teststring);
}
Список будет заменен тестовой строкой.
Как решить эту проблему?