使用带有LINQ的QueryString检索数据

时间:2014-12-13 22:00:53

标签: asp.net

我如何在asp.net中使用request.querystring。我试图使用Linq检索数据,但我一直在收到错误。请尽快回复我。我仍然是asp.net的新手 代码背后:

      BlogDBDataContext db = new BlogDBDataContext();

        dynamic q = from b in db.Blogs
                    where b.BlogId = Request.QueryString("BlogId") 
                    select  b;


        lv.DataSource = q;
        lv.DataBind();

这给我的错误说明:非可调用成员' System.Web.HttpRequest.QueryString'不能像方法一样使用。

代码背后: 即使我尝试这段代码:Request.QueryString [" BlogId"]

它仍然给我一个错误:无法隐式转换类型'字符串'到' int'

1 个答案:

答案 0 :(得分:0)

QueryStringNameValueCollection,不是方法 - 您应该使用[]运算符来访问成员:

Request.QueryString["BlogId"]

编辑:只需阅读其余问题。正如错误消息所示,Request.QueryString["BlogId"]的值为string,而不是int。我假设b.BlogIdint,因此您需要先将string解析为int

BlogDBDataContext db = new BlogDBDataContext();

int blogId;
if (int.TryParse(Request.QueryString["BlogId"], out blogId))
{
    dynamic q = from b in db.Blogs
                where b.BlogId == blogId 
                select b;

    lv.DataSource = q;
    lv.DataBind();
}