複数のエンティティの編集をサポートするページを作成しました。
このページは次のように呼ばれます。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();
%>
しかし、Personnel Controllerに投稿されたURLを見ると、次のようになっています。
http://localhost/Personnel/_GetPersonnelByIds/2944%2c7?personnelIds=7%2C2944&Personnel-size=5
私が理解していないのは、なぜ2944%2c7が追加されているのかということです。これにより、URLが長くなりすぎると401エラーが発生します。
Global.asaxで定義されているルーティングは次のようになります。
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
これを解決する方法は?