簡體   English   中英

如何在asp.net應用程序的服務器端進行過多的圖像控制?

[英]How to excess image control in server side in asp.net app?

服務器端'imginfo'過多怎么辦?請幫忙。如果登錄信息不匹配,我必須隱藏圖像。

您可以在列表視圖的 OnItemDataBound 函數中訪問行級別的控件。

protected void lvLoginDetails_ItemDataBound(object sender, ListViewItemEventArgs e)
{
  if (e.Item is ListViewDataItem)
  {
     ImageButton imb = (ImageButton)e.Item.FindControl("imgInfo");
     // ...
  }
}

編輯 1

如果您想在其他任何地方訪問它,則必須遍歷如下所示的 listView 項目。 在嘗試訪問控件之前,請確保您已綁定一些數據。

foreach (ListViewItem item in lvLoginDetails.Items)
{
    ImageButton imb = (ImageButton)item.FindControl("imgInfo");
    // ...
}

因此,如果某些數據具有一定的價值,您希望隱藏圖像。 您可以簡單地比較該值並將隱藏的css類應用到該元素,例如:

首先,在head元素中添加這個css

.d-none {
    display: none !important;
}

然后用這個標記替換你的圖像控件:

<asp:ImageButton runat="server" ID="imgInfo" CssClass='<%# Eval("SomeColumn") == DBNull.Value ? "d-none" : "" %>' ImageUrl="~/Images/info-note.png" tooltip='<%# Eval("user_address").ToString().Trim() %>' style="position: center; top: 3px; padding-right: 3px; padding-left:5px;cursor: help;" />

您可以將SomeColumn替換為包含要比較的值的數據庫列,我只是比較它是否為空,您也可以進行其他比較。

更新

您可以在比較中添加另一個子句,我們可以使用string.IsNullOrEmpty()方法檢查varchar列是否為空。

<asp:ImageButton runat="server" ID="imgInfo" CssClass='<%# Eval("SomeColumn") == DBNull.Value || string.IsNullOrEmpty(Eval("SomeColumn").ToString()) ? "d-none" : "" %>' ImageUrl="~/Images/info-note.png" tooltip='<%# Eval("user_address").ToString().Trim() %>' style="position: center; top: 3px; padding-right: 3px; padding-left:5px;cursor: help;" />

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM