3

このコードを部分ビューにして、グリッドにアルファページングを追加しようとしています:

<div class="t-pager-wrapper" style="border-bottom:0">
        <div class="t-pager t-reset">                                
            @foreach (var letter in CollectionUtil.Alphabet){
                @Html.ActionLink(letter, "Index", new { Equipment_filter = "Equipment.Name~startswith~'" + letter + "'" }, new { @class = "t-link" })
            }
            @Html.ActionLink("All", "Index")                                                       
        </div>
    </div>

クエリ文字列のパラメーターとして使用する「Equipment」という名前を渡すにはどうすればよいですか? 私のすべてのグリッドにはデータの独自の名前があるため、ページング フィルターが機能するためには、Equipment_filter、Color_filter、Cars_filter などの各ページで異なります。

したがって、URL の例は次のようになります。

http://www.mydomain.com/Equipment?Equipment-filter=Equipment.Name~startswith~'B'
http://www.mydomain.com/Color?Color-filter=Color.Name~startswith~'C'

そのため、パーシャルに渡すパラメーターは、フィルター プレフィックスの "Equipment" と、オブジェクト プロパティを比較するためのパスの "Equipment.Name" に渡す必要があります。

編集:

代わりに、リンクの href パラメーター内で Url.Action を使用するだけでこれを行いました。

<a href="@Url.Action("index")?Equipment-filter=Equipment.Name~startswith~'@letter'">@letter</a>

すべてが文字列であるため、その時点で「Equipment」と「Equipment.Name」を指定するのは簡単です。誰かが ActionLink を使用してソリューションを投稿したい場合は、それを回答としてマークします。

4

1 に答える 1