0

MVC4では、クライアントのグループをリストする必要があります。これは、ClientListとClientモデルの2つのモデルを作成することで実現しました。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

私が提案する初心者にとって最も簡単なアプローチは、コントローラーで2つの異なるメソッドを作成し、これらのコントローラーに関連付けられた2つのビューを作成することです。最初のコントローラー関数はget関数であり、これに関連付けられたビューはフィルターリストを開き、ユーザーはフィルター基準を選択して送信します。post関数である2番目のコントローラー関数はリクエストを受信し、フィルター基準に基づいてレコードをフェッチします。 IEnumerableリストの応答を2番目のビューに返します。他のアプローチは、JQuery.ajax呼び出しを使用することです。

于 2012-12-17T06:43:15.673 に答える