using System.Linq;
using Microsoft.AspNetCore.Mvc.ApplicationModels;
namespace Util.Samples.RazorPageExtensions {
///
/// 视图页面路由约定,将页面路由添加view前缀
///
public class ViewPageRouteConvention : IPageRouteModelConvention {
///
/// 修改路由
///
public void Apply( PageRouteModel model ) {
foreach( var selector in model.Selectors.ToList() ) {
var template = selector.AttributeRouteModel.Template;
if( string.IsNullOrWhiteSpace( template ) )
continue;
if( template.ToLower() == "index" )
continue;
selector.AttributeRouteModel.Template = $"view/{selector.AttributeRouteModel.Template}";
}
}
}
}