它是如何工作的构造[QueryString(“productID”)] int? productId(c#)

时间:2013-11-01 03:36:20

标签: c# asp.net .net query-string

请告诉我它是什么,它是如何工作的 [QueryString("productID")]int? productId 用作函数的参数

public IQueryable<Product> GetProduct([QueryString("productID")]int? productId)

我的英语不是很好,但我会尽力解释。如果我正在写这个函数,我会这样做:

public IQueryable<Product> GetProduct()
{
    int? productId;
    string productIdStr = Request.QueryString["productID"];
    if (productIdStr != null)
        productId = int.Parse(productIdStr);
    else
        productId = null;

     ---------------------------------
}

但是这段代码非常优雅,但我不明白它是什么

public IQueryable<Product> GetProduct([QueryString("productID")]int? productId)
{

}

3 个答案:

答案 0 :(得分:0)

根据代码查看。

您正在将查询字符串参数传递给GetProduct方法。

ueryString( “的productID”)] INT?将ProductID解析为Integer。

如果您有详细代码,请提供。

答案 1 :(得分:0)

这样做.. Fisrt在类中添加为实例然后不需要传递它GetProduct ...

namespace A
{
    public class B
    {
       string productIdStr1 = Request.QueryString["productID"];
     }
}
}

public IQueryable<Product> GetProduct() 
  {
    int? productId;
    string productIdStr =productIdStr1  ;
    if (productIdStr != null)
        productId = int.Parse(productIdStr);
    else
        productId = null;

    }

答案 2 :(得分:0)

根据您的代码,您似乎使用的是QueryString属性,该属性是ASP.NET 4.5 Web表单模型绑定的一部分。

此处描述了该属性:http://msdn.microsoft.com/en-us/library/system.web.modelbinding.querystringattribute(v=vs.110).aspx

本教程提供了一些背景知识:http://www.asp.net/web-forms/tutorials/data-access/model-binding/using-query-string-values-to-retrieve-data