我正在学习ASP.NET并偶然发现了这个方法声明:
public IQueryable<Product> GetProducts([QueryString("id")] int? categoryId) {.....}
Run Code Online (Sandbox Code Playgroud)
教程说categoryId将等于查询字符串"id"(来自URL,类似于&id = 5),但问题是什么是[QueryString("id")]语法调用?这在ASP.NET之外是否可用,它的应用是什么?
Jon*_*eet 17
这是将QueryStringAttribute属性应用于参数categoryId.它只是一个属性,就像您可能更习惯于在方法或类上看到的那样,如下所示:
[STAThread]
static void Main()
{
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,可能是框架的某些部分(我不是ASP.NET开发人员,所以我不能指出究竟是什么)使用反射来查找所有方法,找到QueryStringAttribute应用于参数的任何值,然后将这些属性中的名称与查询字符串中的名称进行匹配,然后提取匹配值以传递给方法调用(再次使用反射).
| 归档时间: |
|
| 查看次数: |
3973 次 |
| 最近记录: |