Начальное состояние diverUntilChanged всегда пусто. Но при выдаче первого значения отлично сохраняется до первого сохраненного значения. После этого выдается второе значение, оно сравнивает новое значение и сохраненное значение. Таким образом, ваше решение верное, или вы можете использовать skipWhile для первого сравнения значений.
Попробуйте это для своих маршрутов.
routes.MapRoute(
"Index",
"/{controller}/{id}",
new { controller = "Home", action = "Index" }
);
Он устанавливает действие по умолчанию "Индекс"
да, вы можете изменить свой маршрут следующим образом:
routes.MapRoute(
"Default", // Route name
"{controller}/{id}", // URL with parameters
new { controller = "MyController", action = "Index", id = 1 } // Parameter defaults
);