我创建了一个支持编辑多个实体的页面
此页面的调用方式如下:http://localhost/Personnel/EditMultiple?id=2944&id=7
在这个页面上有一个GridView,它应该在网格中列出这些人员。
此网格定义如下:
<% Html.Telerik().Grid<Web.Models.PersonnelMiniVM>()
.Columns(columns =>
{
columns.Bound(p => p.Name);
})
.DataBinding(d => d.Ajax().Select("_GetPersonnelByIds", "Personnel", new { personnelIds = string.Join(",", Model.PersonnelIds) }))
.Pageable(page => page.PageTo(Model.Page))
.Sortable(sorting => sorting.OrderBy(sortOrder => sortOrder.Add(p => p.Name)))
.Render();
%>
但是,当我查看发布到人事控制人员的URL时,它就像:
http://localhost/Personnel/_GetPersonnelByIds/2944%2c7?personnelIds=7%2C2944&Personnel-size=5
我不明白为什么附加了 2944%2c7 ,当网址太长时,这也会给我一个401错误。
Global.asax中定义的路由是这样的:
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
如何解决这个问题?
答案 0 :(得分:3)
见:
解决方法是清除 id ,例如:
.DataBinding(d => d.Ajax().Select("_GetPersonnelByIds", "Personnel", new { id= "", personnelIds = string.Join(",", Model.PersonnelIds) }))