html–MVC 3:在ActionLink上追加get参数

html–MVC 3:在ActionLink上追加get参数,第1张

概述我正在使用MVCContrib网格输出一些数据.当我对列进行排序时,我会得到一个可能如下所示的网址:/?Column=ColumnName&Direction=Ascending 假设我想添加链接来控制显示的结果数量.我会自发地写下这样的东西:Html.ActionLink('View 10', 'Index', new { pageSize = 1

我正在使用MVCContrib网格输出一些数据.当我对列进行排序时,我会得到一个可能如下所示的网址:

/?Column=Columnname&Direction=Ascending

假设我想添加链接来控制显示的结果数量.我会自发地写下这样的东西:

HTML.Actionlink("VIEw 10","Index",new { pageSize = 10 })

……这会给我:

/?PageSize=10

但是说我已经对网格进行了排序.在这种情况下,我想保存url参数,使新的url看起来像这样:

/?Column=Columnname&Direction=Ascending&PageSize=10

怎么能做到这一点?最佳答案您可以在生成链接时包含其他参数:

HTML.Actionlink(    "VIEw 10",new {        Column = Request["Column"],Direction = Request["Direction"],pageSize = 10     })

或编写自定义HTML帮助程序,它将自动包含所有当前查询字符串参数并附加pageSize参数:

HTML.Paginatelink("VIEw 10",10)

以下是助手的样子:

public static class HTMLExtensions{    public static MvcHTMLString Paginatelink(        this HTMLHelper helper,string linkText,int pageSize    )    {        var query = helper.VIEwContext.httpContext.Request.queryString;        var values = query.AllKeys.ToDictionary(key => key,key => (object)query[key]);        values["pageSize"] = pageSize;        var routeValues = new RouteValueDictionary(values);        return helper.Actionlink(linkText,routeValues);    }}
总结

以上是内存溢出为你收集整理的html – MVC 3:在ActionLink上追加get参数全部内容,希望文章能够帮你解决html – MVC 3:在ActionLink上追加get参数所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1125720.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存