Я изо всех сил пытаюсь справиться с определенной настройкой формы в моем приложении asp.net MVC.
В настоящее время у меня есть страница, которая отображает кусок данных. На этой странице есть простая форма, которая вызывает метод действия, который возвращает частичное представление при публикации (через ajax - jform).
Это все очень хорошо, пока я не попытаюсь добавить поддержку подкачки в результаты поиска.
У меня есть кусок кода, который разбивает на страницы IQueryable, но я не уверен, как реализовать это в моей текущей установке.
Вот какой-то код:
[Authorize]
public ActionResult AssetSearch(string RoomID, string type, string keyword, string risks)
{
//check values passed in
Guid? r = null;
if (RoomID != "Any" && RoomID != null)
r = new Guid(RoomID);
string t = type == "Any" ? null : type;
string risk = risks == "Any" ? null : risks;
var assets = surveyRepository.GetAssetsSearch(r, t, keyword, risk);
if (Request.IsAjaxRequest())
{
return PartialView("AssetListControl", assets);
}
else
{
return View("AssetListControl", assets);
}
}
Этот метод действия возвращает частичное представление, которое выводится в div с помощью следующего jquery.
$(document).ready(function() {
$("#searchForm").submit(function() {
$("#searchForm").ajaxSubmit({ target: '#results', beforeSubmit: PreSub, success: Success });
return false;
});
});
function Success(responseText, statusText) {
$("#loadingMessage").html("done");
$('#resultsTable').tablesorter();
$("#results").slideDown("slow");
}
function PreSub(formData, jqForm, options) {
$("#loadingMessage").html("loading...").fadeIn();
$("#results").slideUp("fast");
return true;
}
И моя форма выглядит следующим образом:
<form id="searchForm" action="<%=Url.Action("AssetSearch") %>" method="post">
<fieldset>
<label for="RoomID">
Room Name</label>
<%= Html.DropDownList("RoomID") %>
<label for="Type">
Asset Type</label>
<%= Html.DropDownList("Type") %>
<label for="Risks">
Risk Level</label>
<%= Html.DropDownList("Risks") %>
<label for="Keyword">
Keyword</label>
<%= Html.TextBox("Keyword") %>
<input type="submit" name="sumbit" id="searchBtn" value="Search" />
</fieldset>
</form>
Извините за перегрузку кода: -)
У меня такое ощущение, что я настроил свой контроллер и просмотр так, что пейджинг будет нелегко реализовать. Все советы приветствуются!
Заранее спасибо!