Попробуйте метод OnPageHandlerSelected, который выполняется до выбора модели. Вы можете перехватить запрос, исправить строку запроса и перенаправить. Я думаю, что вы, вероятно, можете найти лучшее решение, но это должно направить вас в правильном направлении. Пожалуйста, смотрите эти ресурсы для справки.
https://www.learnrazorpages.com/razor-pages/filters
https://benjii.me/2017/04/parse-modify-query-strings-asp-net-core/
using Microsoft.AspNetCore.Mvc.Filters;
using Microsoft.AspNetCore.Http.Extensions;
public override void OnPageHandlerSelected(PageHandlerSelectedContext context)
{
//...
var querystring = QueryHelpers.ParseQuery(context.HttpContext.Request.QueryString.Value);
var items = querystring.SelectMany(x => x.Value, (col, value) => new KeyValuePair<string, string>(col.Key, value)).ToList();
var endDate = items.FirstOrDefault(q => q.Key == "Enddate" && q.Value.Contains("?culture=de"));
if (!string.IsNullOrEmpty(endDate.Value))
{
items.Remove(endDate);
var newEndDateValue = endDate.Value.Replace("?culture=de", "");
var qb = new QueryBuilder(items);
qb.Add("Enddate", newEndDateValue);
Uri currentUrl = new Uri(HttpContext.Request.GetDisplayUrl());
var url = String.Format("{0}{1}{2}{3}", currentUrl.Scheme,Uri.SchemeDelimiter, currentUrl.Authority, currentUrl.AbsolutePath);
Response.Redirect(url.ToString() + "?" + qb.ToQueryString());
}
}