在MVC4中,需要列出一组客户端。我通过创建2个模型ClientList和Client模型来实现这一点。我将ClientList类设置为可序列化。现在需要为此模型应用具有各种参数的过滤条件。怎么做到这一点?这是我的模特。
public class Client : Paging
{
public virtual string CompanyName { get; set; }
public virtual string FirstName { get; set; }
public virtual string LastName { get; set; }
}
[Serializable]
public class ClientList : Paging
{
private Client _client;
public Client Client
{
get { return _client; }
set { _client = value; }
}
}
在数据访问中,我正在使用此
while (reader.Read())
{
var rCompanyName = reader.GetOrdinal("CompanyName");
var rFirstName = reader.GetOrdinal("FirstName");
var rLastName = reader.GetOrdinal("LastName");
var resultClientList = new Client
{
CompanyName = Convert.IsDBNull(rCompanyName) ? string.Empty : reader.GetString(rCompanyName),
FirstName = Convert.IsDBNull(rFirstName) ? string.Empty : reader.GetString(rFirstName),
LastName = Convert.IsDBNull(rLastName) ? string.Empty : reader.GetString(rLastName)
};
var clients = new ClientList();
admin.Client = resultClientList;
result.Data.Add(clients);
}
在视图中,
@model IEnumerable<Midlab.FreightOnce.BusinessObjects.ClientList
@*i need filter condition here*@
@foreach (var item in Model)
{
--rendering list here
}
由于
答案 0 :(得分:1)
对于初学者,我建议的最简单的方法是,在控制器中制作两种不同的方法,以及与这些控制器相关的两种视图。第一个控制器函数将是一个get函数,与此相关的视图将打开过滤器列表,用户将选择过滤条件并提交它,作为post函数的第二个控制器函数将接收请求,根据过滤条件获取记录和将IEnumerable列表中的响应返回给第二个视图。另一种方法是使用JQuery.ajax调用。