0

在 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
}

谢谢

4

1 回答 1

1

我建议的初学者最简单的方法是,在控制器中创建两种不同的方法,以及与这些控制器关联的两个视图。第一个控制器函数将是一个 get 函数,与此关联的视图将打开过滤器列表,用户将选择过滤条件并提交它,第二个控制器函数是一个 post 函数将接收请求,根据过滤条件获取记录并将 IEnumerable 列表中的响应返回到第二个视图。另一种方法是使用 JQuery.ajax 调用。

于 2012-12-17T06:43:15.673 回答