将参数传递给局部视图以在操作链接中用作查询字符串名称?

时间:2013-04-23 18:19:45

标签: asp.net-mvc partial-views actionlink

我正在尝试将此代码设置为部分视图,以便将alpha分页添加到我的网格中:

<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等。

示例网址为:

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发布解决方案,我会将其标记为答案。

1 个答案:

答案 0 :(得分:1)

我只是在链接的href参数中使用Url.Action代替:

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

此时提供“Equipment”和“Equipment.Name”是微不足道的,因为一切都是字符串。