必須の引数を持つ ASP.NET MVC 属性を作成する方法はありますか?
[MyPersonalAttribut(MyMandatoryValue="....")]
public ActionResult Index()
{
return View();
}
ありがとう、
必須の引数を持つ ASP.NET MVC 属性を作成する方法はありますか?
[MyPersonalAttribut(MyMandatoryValue="....")]
public ActionResult Index()
{
return View();
}
ありがとう、
これは、Attribute に 1 つの引数を取るコンストラクターを 1 つだけ持つことで簡単に実行できます。このような:
public class MyPersonalAttribute : Attribute
{
public object MyMandatoryValue { get; private set; }
// The only constructor in the class that takes one argument...
public MyPersonalAttribute(object value)
{
this.MyMandatoryValue = value;
}
}
次に、以下のように属性を使用するときに引数を指定しないと、コンパイル エラーが発生する場合:
これはうまくいきます:
[MyPersonalAttribute("some value")]
public ActionResult Index()
{
return View();
}
これにより、コンパイルエラーが発生します。
[MyPersonalAttribute()]
public ActionResult Index()
{
return View();
}
簡単な方法は、インデックス メソッドに null 非許容のパラメーターを設定することです。
public ActionResult Index(int id)
{
return View();
}
そこに移動するには有効な int が必要です