gpt4 book ai didi

C#:匿名类型作为 ActionFilterAttribute 的参数

转载 作者:太空宇宙 更新时间:2023-11-03 14:27:26 26 4
gpt4 key购买 nike

我想在 MVC2 上定义以下属性:

public class BackAttribute : ActionFilterAttribute
{
public BackAttribute(object routeDict)
{ // Set local route property according to routeDict }
}

属性将像这样与匿名类型一起使用:

[Back(new { action = "Index", controller = "Home" })]
public ViewResult DoSome() ...

我想要实现的是“后退”属性,它定义页面中“后退”按钮的指向位置。以前的代码无法编译,因为它显然是一个常量表达式,您不能在其中使用匿名类型。我如何将匿名类型传递给属性或实现以下调用之一:

[Back(new { action = "Index", controller = "Home"})]
[Back(action = "Index", controller = "Home")]

(更新)甚至

[Back(action = "Index", controller = "Home", id = "5", younameit = "dosome")]

最佳答案

如前所述,您不能传递匿名类型。

你可以做的是:

public class BackAttribute : ActionFilterAttribute
{
public string Action { get; set; }
public string Controller { get; set; }

public BackAttribute() { }
}

这将使您能够做到这一点:

[Back(Action = "Index", Controller = "Home" )]
public ViewResult DoSomething() { //...

但是你仍然不能随意添加其他属性。

关于C#:匿名类型作为 ActionFilterAttribute 的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3520374/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com