我创建了一个名为的自定义属性RouteAttribute
:
[AttributeUsage(AttributeTargets.Property)]
public class RouteAttribute : Attribute
{
public string Url { get; set; }
public bool CheckPhysicalUrlAccess { get; set; }
public RouteValueDictionary Defaults { get; set; }
public RouteValueDictionary Constraints { get; set; }
public RouteValueDictionary DataTokens { get; set; }
}
它用于通过我的 url 助手类上的属性添加路由,该类包含我网站中的 url 列表,因此我有一种简单的方法来管理我的网站 url。
但是添加默认值时遇到问题,出现编译器错误:
[Route("~/MyPage/Home.aspx", new RouteValueDictionary { { "query", "value" } })]
public string HomePage
{
get { return "Home" }
}
为避免混淆,将值设置为 routeurl,物理 url 来自属性,原因是,我正在转换现有网站,而不是到处更改链接,一旦我完成页面,我就去上课并将物理网址更改为新页面
给出错误:
属性参数必须是属性参数类型的常量表达式、typeof 表达式或数组创建表达式