2013-11-14 2 views
0

У меня есть 2 asp.net Listviews на странице aps.net, lv1 и lv2. Мне трудно найти доступ к элементам данных lv1 из lv2. Мне нужно было сделать сравнения для элементов как в списках, так и в цветовых кодах неравных элементов.Два Lisviews на одной странице aspx

Возможно ли получить доступ к элементам данных одного из списков просмотра с другого на той же странице?

Благодарим за помощь.

Ниже приведен код:

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 


</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
     <asp:ListView ID="lst1" runat="server"> 
      <ItemTemplate> 
       <table class="tblClass" width="95%" border="0" style="margin: auto; font-size: 13px; 
        height: 150px;"> 
        <br /> 
        <tr> 
         <td> 
          Account#: 
         </td> 
         <td align="right"> 
          <b> 
           <%#Eval("ID")%></b> 
         </td> 
        </tr> 
        <tr> 
         <td> 
          Email: 
         </td> 
         <td align="right"> 
          <%#Eval("DefaultEmail")%> 
          <input type="radio" id="rad1" <%#(String.IsNullOrEmpty(Eval("DefaultEmail").ToString()) ? "disabled" : " ")%> 
           name="radEmail" value="<%#Eval("DefaultEmail") %>" /> 
         </td> 
        </tr> 
       </table> 
      </ItemTemplate> 
     </asp:ListView> 
    </div> 
    <div> 
     <asp:ListView ID="lst2" runat="server"> 
      <ItemTemplate> 
       <table class="tblClass" width="95%" border="0" style="margin: auto; font-size: 13px; 
        height: 150px;"> 
        <br /> 
        <tr> 
         <td> 
          Account#: 
         </td> 
         <td align="right"> 
          <b> 
           <%#Eval("ID")%></b> 
         </td> 
        </tr> 
        <tr> 
         <td> 
          Email: 
         </td> 
         <td align="right"> 
          <%#Eval("DefaultEmail")%> 
          <input type="radio" id="rad2" <%#(String.IsNullOrEmpty(Eval("DefaultEmail").ToString()) ? "disabled" : " ")%> 
           name="radEmail" value="<%#Eval("DefaultEmail") %>" /> 
         </td> 
        </tr> 
       </table> 
      </ItemTemplate> 
     </asp:ListView> 
    </div> 
    </form> 
</body> 
</html> 

Я хотел бы получить доступ к электронной почте пункт lst2 в пределах lst1 использованием может быть, EVAL ... Таким образом, я могу окрасить код элементы TR, если два значения различны. Благодарю.

+1

Это может помочь, если вы вывесили, как вы в настоящее время пытаетесь сделать это. – CAbbott

+0

добавил код. Благодарю. – user1967701

+0

@ user1967701 Где источники данных? – Win

ответ

1

Как насчет решения этой проблемы внутри ваших коллекций, прежде чем связывать их с списками?

Что-то вроде этого:

  • Добавить дополнительное свойство в классе (тот, который вы связываете с ListView1), например: bool EmailExists
  • Итерация по коллекции, которая получает привязок к ListView1, и поиск писем в вторая коллекция (которая связывается с listView2). Если вы найдете соответствие атрибуту EmailExists для свойства True.
  • Использование <%#Eval(EmailExists) %> соответствующего цвета тр элементы на основе ценности EmailExists
+0

. Вот где я столкнулся с проблемой: ListView1 имеет привязку данных (выберите идентификатор, адрес электронной почты из таблицы A, где ID = 1), а Listview2 имеет привязку данных (выберите ID, адрес электронной почты из таблицы A, где ID = 2). Могу ли я сделать то, что вы предлагали? Благодарю. – user1967701

+0

Привет, я думаю, вы можете. Я полагаю, вы заполняете свои результаты запроса в список объектов, прежде чем привязывать данные к потерянным просмотрам. –

+0

Чинги. Я смог использовать одно представление списка и переписать запрос, чтобы получить две строки в одну строку. – user1967701

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