0

必須の引数を持つ ASP.NET MVC 属性を作成する方法はありますか?

[MyPersonalAttribut(MyMandatoryValue="....")]
public ActionResult Index()
{

    return View();
}

ありがとう、

4

3 に答える 3

0

これは、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();
}
于 2013-08-15T14:06:28.197 に答える
0

簡単な方法は、インデックス メソッドに null 非許容のパラメーターを設定することです。

   public ActionResult Index(int id)
   { 
     return View();
   }

そこに移動するには有効な int が必要です

于 2012-07-11T05:47:15.117 に答える