Доступ к кнопке ссылки из списка данных при загрузке страницы с помощью С# asp.net

У меня есть эта кнопка ссылки в списке данных, и я пытаюсь получить доступ к списку данных при загрузке страницы, поэтому я могу включить или отключить кнопку ссылки в зависимости от роли пользователя.

<asp:DataList id="dlRecommendations" runat="server" DataKeyField="Key" Width="900">
   <ItemTemplate>
      <asp:LinkButton id="lnkEdit" Text="Edit" Runat="server" CommandName="Edit">    
      </asp:LinkButton>
  </ItemTemplate>
</asp:DataList>

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

 private void Page_Load(object sender, System.EventArgs e) {
  //perhaps something like this:
  lnkEdit.Enabled = false;
  ....
}

person Community    schedule 18.08.2009    source источник


Ответы (2)


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

    void dlRecommendations_ItemDataBound(object sender, DataListItemEventArgs e)
    {
        var link = e.Item.FindControl("lnkEdit") as LinkButton;
        if (link != null)
        {
            link.Enabled = UserHasRight;//if user has right then enabled else disabled
        }
    }
person TheVillageIdiot    schedule 18.08.2009

DataList — это элемент управления с привязкой к данным — он строит строки только при наличии данных. Чтобы получить доступ к ссылке внутри строки, используйте событие ItemDataBound и получите доступ к e.Item.FindControl("linkId");

person Dewfy    schedule 18.08.2009