目前我要么使用控制器类,要么使用formViewModel。我想添加数组属性对象的控制器源方法如下:
有谁知道我将如何向这个ActionResult添加一个数组,以便从我的View我可以遍历我的数组。我添加的数组将包含从客户端代码在地图对象上绘制的坐标。
要做到这一点,我必须使用formViewModel并设置我的视图来引用它?如果我可以简单地使用现有代码传递数组那么棒。
public ActionResult IndexSearch(int?page,string siteDescription) {
const int pageSize = 10;
//Get all Sites
var allSites = _siteRepository.FindAllSites();
//Get all Sites that contain the value in sitedescription
var searchResults = (from s in allSites
where s.SiteDescription.StartsWith(siteDescription)
select s);
//Return partial view that the ajax reults get loaded into.
var paginatedSites = new PaginatedList<Site>(searchResults, page ?? 1, pageSize);
return PartialView("SiteIndexSearchresults", paginatedSites);
}
答案 0 :(得分:0)
我不明白你在说什么formViewModel
。在您提供的示例代码中,控制器操作是将IEnumerable<Site>
集合传递给您的视图,以便您可以遍历它:
<% foreach (Site item in Model) { %>
<div><%: item.SiteDescription %></div>
<% } %>
甚至更好地使用此网站的显示模板(~/Views/Home/DisplayTemplates/Site.ascx
):
<%@ Control
Language="C#"
Inherits="System.Web.Mvc.ViewUserControl<SomeNs.Site>"
%>
<div><%: Model.SiteDescription %></div>
在您的主视图中简单地说:
<%: Html.DisplayForModel() %>