というカスタム属性を作成しました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 は属性から取得されます。その理由は、既存のサイトを変換しているためです。リンクをどこでも変更するのではなく、ページの操作が完了したら、自分のクラスに移動します。物理URLを新しいページに変更します
エラーを与える:
属性引数は、定数式、typeof 式、または属性パラメーター タイプの配列作成式でなければなりません