2015-11-07 3 views
1

Я пытаюсь найти linkbutton внутри на моей странице aspx.Как связаться с LinkButton в ListView?

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

Вот код ASPX, где LinkButton является

<ItemTemplate> 
       <table> 
        <tr> 
         <td> 
          <asp:TextBox ID="DisplayOP" runat="server" Text="test" Visible="false"></asp:TextBox> 
         </td> 
        </tr> 
       <tr> 
        <td><asp:Linkbutton ID="ItemEmneLabel" runat="server" Text='<%# Eval("Emne") %>' OnClick="ItemShowComments" CommandArgument='<%# Eval("OpslagsID") %>' Visible="true" /></td> 
<--- Code Omitted ---> 

В моем коде позади .cs файла Я пытаюсь найти его, как это:

var lnkb = (LinkButton)ListView1.FindControl("ItemEmneLabel"); 
      lnkb.Visible = false; 

и это:

 var lnkb = (LinkButton)this.ListView1.FindControl("ItemEmneLabel"); 
     lnkb.Visible = false; 

Однако whate вер Стараюсь я получаю сообщение об ошибке сказав: { «Ссылка на объект не указывает на экземпляр объекта»}

Что я здесь делаю неправильно?

+1

Проверить это SO сообщение [как к ноу-который-LinkButton-в-ListView-был щелкнули] (HTTP: // stackoverflow.com/questions/8327665/how-to-know-which-linkbutton-in-a-listview-was-clicked) – haraman

ответ

0

невозможно найти элемент управления, указанный в ItemTemplate, как этот. Вы можете получить контроль с отправителем в методе ItemShowComments.

+0

Ох ... это позор. Дело в том, что я хочу, чтобы можно было щелкнуть по определенной ссылке из списка. Это изменит значения оператора select, заставив его создать новый вид на pagereload. Однако я хочу, чтобы кнопки внутри этого вида были невидимыми. – Raker

0

Хорошо, поэтому я нашел решение своей проблемы.

Теперь я хотел отключить видимость кнопок ссылки, когда в списке отображались конкретные данные. Я продолжал искать ответ в коде, но узнал, что могу решить его в aspx.

Что я сделал добавить заявление видимости, как это: (!)

Visible='<%# !Eval("Emne").Equals("") %>' 

exclamationmark перед Eval означает, что если он не равен «». Это означает, что если «Emne» не является пустым, то утверждение истинно, поэтому видимое истинно. Я мог бы сделать это по-другому вокруг кодирования это следующим образом:

Visible='<%# Eval("Emne").Equals("") %>' 
Смежные вопросы