2015-05-14 2 views
-1

У меня есть список URL-адресов изображений, которые я должен проверить, отвечает ли URL-адрес или нет. Я добавляю URL, который не отвечает на мой gridview один за другим. проблемаотображение данных динамически в gridview

, когда первый не отвечающий URL отображается в Gridview, но при добавлении последующего недействительного URL-адреса он заменяет первый. Мне нужно, чтобы отобразить все RemoveUrl сек в Gridview

вот мой код:

List<RemoveUrl> RemoveUrl = new List<ValidateURLOfHIIPSData.RemoveUrl>(); 

DataTable DtFpId = BusinessClass.GetHotelFPID(); 

for (int i = 1; i <= 2; i++) 

{    
    if (Session["RemoveUrl"] != null) 

    { 
     RemoveUrl = (List<RemoveUrl>)Session["RemoveUrl"]; 
    } 
    RemoveUrl = BusinessClass.SearchImageUrl(i)/*checking url for valid or not; 
    Session["RemoveUrl"] = RemoveUrl; 
    gvRemovedUrl.DataSource = Session["RemoveUrl"]; 
    gvRemovedUrl.DataBind(); 
} 
+0

сказать четко Ват вы хотите –

+0

я хочу, чтобы добавить ряд один за другим, чтобы динамически GridView с данными списка – user3810961

+0

ОК затем привязать список в Уре GridView, проблема Ват ¨R обращенную ?? –

ответ

1

Каждый раз, когда вы итерации через for петлю, вы настраиваете свой RemoveUrl список, чтобы быть значение, которое хранится в Session["RemoveUrl"] , Я не думаю, что это то, что вам нужно.

Я сделал несколько предположений:

  1. Все URLs быть проверены, хранятся в Session["RemoveUrl"]
  2. BusinessClass.SearchImageUrl() принимает RemoveUrl объект
  3. BusinessClass.SearchImageUrl() возвращает RemoveUrl объект

Если это так, следующий код укажет вам в правильном направлении. (Непроверенные)

DataTable DtFpId = BusinessClass.GetHotelFPID(); 

if (Session["RemoveUrl"] != null) { 
    List<RemoveUrl> allUrls = (List<RemoveUrl>)Session["RemoveUrl"]; // set the list to be the values stored in your session - I assume these are the ones you want to verify? 
    List<RemoveUrl> removeUrls = new List<ValidateURLOfHIIPSData.RemoveUrl>(); // a list of invalid urls 

    for (int i = 0; i < allUrls.length; i++) { // iterate through your urls 
     // check if valid and add to removeUrls list 
     removeUrls.add(BusinessClass.SearchImageUrl(allUrls[i])) 
    } 

    gvRemovedUrl.DataSource = removeUrls; 
    gvRemovedUrl.DataBind(); 
} 
+0

Некоторые примечания : вы должны указать свои переменные, начиная с нижнего регистра (например, «Список removeUrls'). Связывание данных лучше всего делать после того, как все ваши данные были сопоставлены - в этом случае после цикла 'for'. – CodeMonkey

+0

Спасибо. Но в этом случае все удаленные URL будут отображаться, когда цикл завершится. я не хочу этого делать, я хочу отображать удаленный url один за другим, я имею в виду, когда он нашел неверный url, его будет динамически добавлять в gridview. – user3810961

+0

В вашем примере вы повторяете цикл 'for' один раз (начинайте с «1», финишировать на «2»), поэтому его также не может быть. В моем ответе я просматриваю предполагаемый набор URL-адресов и проверяю их. В любом случае проверка в цикле не должна занимать много времени, поэтому я не вижу преимущества вызова 'DataBind()' каждый раз, когда он итерации (не видя больше кода или, по крайней мере, контекста вашего примера). – CodeMonkey