2
変数を使用して、アクションフィルタに動的値を渡したいとします。動的変数をASP.NET MVCのアクションフィルタに渡す方法
しかし、このパラメータは一定値でなければならないようです。したがって、私の質問は私のアクションフィルタに変数を取得する方法ですか?
変数を使用して、アクションフィルタに動的値を渡したいとします。動的変数をASP.NET MVCのアクションフィルタに渡す方法
しかし、このパラメータは一定値でなければならないようです。したがって、私の質問は私のアクションフィルタに変数を取得する方法ですか?
ActionExecutingContext.ActionParametersプロパティを使用して、OnActionExecutingでパラメータ値を取得できます。
それだけでは擬似コードですが、たとえば、あなたはID
public class MessageActionFilter: ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
var response = filterContext.HttpContext.Response;
var parameterValue = filterContext.ActionParameters.SingleOrDefault(p => p.Key == "id");
// check if not null before writing a message
response.Write(this.Message + parameterValue); // prints "User is updating item: <idvalue>"
}
public string Message {get; set;}
}
それは場合に役立ちます教えてくださいという名前のパラメータをretriveことができます。
ありがとうございます!私はSingleOrDefaultを使用することができませんでしたが、値を取得するためにActionParameters ["id"]を使用しました。 – Jason
SingleOrDefaultを使用するには、system.linqを含める必要があります –