加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-3 – 如何添加整数列表到路由

发布时间:2020-12-16 04:04:31 所属栏目:asp.Net 来源:网络整理
导读:我正在尝试将int []数组添加到我的Url.Action中,如下所示: var routeData = new RouteValueDictionary();for (int i = 0; i Model.GroupsId.Length; i++) { routeData.Add("GroupsId[" + i + "]",Model.GroupsId[i]);} 在我看来: Url.Action("Index",route
我正在尝试将int []数组添加到我的Url.Action中,如下所示:
var routeData = new RouteValueDictionary();

for (int i = 0; i < Model.GroupsId.Length; i++) {
    routeData.Add("GroupsId[" + i + "]",Model.GroupsId[i]);
}

在我看来:

Url.Action("Index",routeData)

但在html我得到:

GroupsId%5B0%5D=1213&GroupsId%5B0%5D=1214

并不是:

GroupsId=1213&GroupsId=1214

我需要它,因为我有一个复选框列表,当我发布时我将groupIds绑定到int [],然后传递给我查看我的导出按钮,其中Url.Action对我来说无法正常工作.

解决方法

由于重复的查询字符串参数名称,您无法使用标准帮助程序生成此类URL.这很不幸,但事情就是这样.

为了生成这样的url,您可以使用以下内容:

var baseUrl = Url.Action("Index","SomeController",null,Request.Url.Scheme);
var uriBuilder = new UriBuilder(baseUrl);
uriBuilder.Query = string.Join("&",Model.GroupsId.Select(x => "groupsid=" + x));
string url = uriBuilder.ToString();

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读