Я пытаюсь создать ссылку для разбивки на страницы, используя IUrlhelper в ядре .net в моем webapi.
Я получаю ошибку
"Значение не может быть нулевым. Имя параметра: uriString"
У меня при запуске следующий код:
services.AddSingleton<IActionContextAccessor, ActionContextAccessor>();
services.AddScoped<IUrlHelper>(factory =>
{
var actionContext = factory.GetService<IActionContextAccessor>()
.ActionContext;
return new UrlHelper(actionContext);
});
тогда у меня есть класс, для которого я создаю свои пейджинговые ссылки
public class LinkBuilder
{
public LinkBuilder(IUrlHelper urlHelper,string routeName, PagingInfo pagingInfo)
{
var mylink = CreateLink(urlHelper, "GetMovies", pagingInfo.PageNumber, pagingInfo.PageSize);
etc.....
}
private Uri CreateLink(IUrlHelper urlHelper,
string routeName,
int pageNo,
int pageSize)
{
//CRASHES ON NEW URI! "Value cannot be null.
Parameter name: uriString"
return new Uri(
urlHelper.Link(routeName,
new { PageNumber = pageNo, PageSize = pageSize }));
}
также, если сделать следующее, моя ссылка всегда пуста. Не понимаю !!
// примечание urlhelper не равно нулю при введении
var link = urlHelper.Link("getsomething", new { PageNumber = 1, PageSize = 20});
Any ideas what I am doing wrong?
thanks