2014-12-13 8 views
0

Как я могу использовать request.querystring в asp.net. Я пытаюсь получить данные с помощью Linq, но я продолжаю получать ошибки. Пожалуйста, вернись ко мне Асап. Im все еще новичок в asp.net за Код:Извлечение данных с помощью QueryString с LINQ

 BlogDBDataContext db = new BlogDBDataContext(); 

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


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

это дает мне ошибку, которая говорит: Non-член возможности ссылаться «System.Web.HttpRequest.QueryString» не может быть использован как метод.

код позади: даже когда я пытаюсь этот код: Request.QueryString [ «BlogId»]

еще это дает мне сообщение об ошибке: Не удается неявно преобразовать «строка» типа для «» междунар

ответ

0

QueryString является NameValueCollection, а не метод - вы должны использовать оператор [] членам доступа:

Request.QueryString["BlogId"] 

Edit: просто прочитать остальную часть вашего вопроса. Значение Request.QueryString["BlogId"] - это string, а не int, как следует из сообщения об ошибке. Я предполагаю, что b.BlogId - это int, поэтому вам нужно разобрать 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(); 
} 
+0

Я думаю, что я нашел то, что я искал, пожалуйста, проверьте ссылку: http://forums.asp.net/post/4987401.aspx – Marcus

+0

Да, что будет делать это тоже. Я предпочитаю использовать 'int.TryParse' вместо' int.Parse', поэтому ваше приложение не генерирует исключение, если кто-то отправляет плохой запрос (например, 'www.example.com/WebPage.aspx? BlogId = a'), но это довольно редкий случай. –

+0

И все же он выдает ошибку здесь, и он говорит, что не может неявно преобразовать тип int в bool: где b.BlogId = blog – Marcus

Смежные вопросы