欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

關(guān)于ListView下隱藏控件的解決方案分享

 更新時間:2012年04月16日 14:50:15   作者:  
想實現(xiàn)一個功能,這個功能挺簡單,就是當不是管理員用戶登入的時候,那這個 刪除 按鈕就被隱藏掉;當是管理員用戶的時候,就重新顯示出來
這是ListView模板里的代碼,貼一下,方便理解:
方案一:
復制代碼 代碼如下:

<SPAN style="FONT-SIZE: 15px">就是想把DeleteButton 和EditButton 2個按鈕隱藏</SPAN>

復制代碼 代碼如下:

<ItemTemplate>
<tr>
<td>
<asp:Button ID="DeleteButton" runat="server" CommandName="Delete" Text="刪除" />
<asp:Button ID="EditButton" runat="server"
CommandName="Edit" Text="編輯" />
</td>
<td style="">
<div style="width: 30px;">
<asp:Label ID="UserNameLabel" runat="server" Text='<%# Eval("UserName") %>' Width="30px" /></div>
</td>
<td>
<asp:Label ID="AgeLabel" runat="server" Text='<%# Eval("Age") %>' />
</td>
<td>
<asp:Label ID="IdentityCardLabel" runat="server" Text='<%# Eval("IdentityCard") %>' />
</td>
<td>
<asp:Label ID="LoginDateLabel" runat="server" Text='<%# Eval("LoginDate","{0:yyyy-MM-dd}") %>' />
</td>
<td>
<asp:Label ID="LeaveDateLabel" runat="server" Text='<%# Eval("LeaveDate","{0:yyyy-MM-dd}") %>' />
</td>
<td>
<asp:Label ID="PopulationLabel" runat="server" Text='<%# Eval("Population") %>' />
</td>
<td>
<asp:Label ID="HouseIDLabel" runat="server" Text='<%# Eval("HouseID") %>' />
</td>
</tr>
</ItemTemplate>

一開始,覺得這挺簡單,就寫下了下面的代碼:
復制代碼 代碼如下:

protected void ListView1_ItemCreated(object sender, ListViewItemEventArgs e)
{
Button DeleteButton = (Button)ListView1.FindControl("DeleteButton");
Button EditButton = (Button)ListView1.FindControl("EditButton");
string username = Session["username"].ToString();
if (username != "admin")
{
EditButton.Visible = false;
DeleteButton.Visible = false;
}
}

可是,當運行的時候,就開始報錯說,將對象引用設(shè)置到對象的實例。就是說沒有找到這個控件,我就很奇怪了,覺得很沒有道理。按理ItemCreated是在初始化行之后,然后進行找控件,應該沒問題。
這個問題,想了很久,沒有結(jié)果,然后就和我一個同學(他技術(shù)不錯)開始討論,剛開始他說是,就是說當運行頁面的時候,在
去查看源碼帶的時候,發(fā)現(xiàn)DeleteButton這個控件的ID 變樣了,變成了ListView1_ctrl0_DeleteButton這樣子。對于這個問題,
我一直到現(xiàn)在還沒有想通,不知道MS怎么會搞這個出來?服務器控件不是好好的渲染到頁面了,怎么變ID了呢?沒理由。呵呵~~
然后,我同學經(jīng)過調(diào)試后,給出了一個解決方案是:
復制代碼 代碼如下:

protected void ListView1_ItemCreated(object sender, ListViewItemEventArgs e)
{
Button DeleteButton = (Button)ListView1.FindControl("DeleteButton");
Button EditButton = (Button)ListView1.FindControl("EditButton");
string username = Session["username"].ToString();
if (username != "admin")
{
if (DeleteButton != null && EditButton != null)
{
EditButton.Visible = false;
DeleteButton.Visible = false;
}
}
}

這樣子就可以了。就是多加了一句:if (DeleteButton != null && EditButton != null)的判斷。
方案二:
很有才的是,我宿舍的一位河北的同學也給出了一種解決方案,不過這種寫法看起來有點不可思議,呵呵,一起看看
吧!
復制代碼 代碼如下:
<asp:Button ID="DeleteButton" runat="server" Visible='<%#Session["username"]=="admin"?true:false %>'

就是這樣子,也可以把控件給隱藏。因為session是全局變量,所以可以在頁面中取到這個值。

作者:Lanny☆蘭東才

相關(guān)文章

  • asp.net 獲取銀行貨幣匯率的代碼

    asp.net 獲取銀行貨幣匯率的代碼

    這個主要公司做外貿(mào)的每天都需要更新匯率,本來以前有一個服務可以調(diào)用,但是那個連接用不了 所以就寫了一個這樣的東西 套取網(wǎng)頁顯示信息
    2010-12-12
  • ASP.NET MVC阿里大于短信接口開發(fā)短信群發(fā)能

    ASP.NET MVC阿里大于短信接口開發(fā)短信群發(fā)能

    這篇文章主要為大家詳細介紹了ASP.NET MVC阿里大于短信接口來開發(fā)例會短信群發(fā)能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • ASP.NET MVC 項目直接預覽PDF文件

    ASP.NET MVC 項目直接預覽PDF文件

    本文主要介紹了ASP.NET MVC項目實現(xiàn)直接預覽PDF文件的方法,具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • .NET內(nèi)存泄漏分析Windbg項目實例

    .NET內(nèi)存泄漏分析Windbg項目實例

    這篇文章介紹了.NET內(nèi)存泄漏分析Windbg項目實例,文中通過示例代碼介紹的非常詳細。對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-12-12
  • .net core 靜態(tài)類獲取appsettings的方法

    .net core 靜態(tài)類獲取appsettings的方法

    這篇文章主要介紹了.net core 靜態(tài)類獲取appsettings的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-06-06
  • 淺談ASP.NETCore統(tǒng)一處理404錯誤都有哪些方式

    淺談ASP.NETCore統(tǒng)一處理404錯誤都有哪些方式

    本文主要介紹了ASP.NETCore統(tǒng)一處理404錯誤都有哪些方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-04-04
  • asp.net(C#)中給控件添加客戶端js事件的方法

    asp.net(C#)中給控件添加客戶端js事件的方法

    今天做一個輸入界面,有一需求根據(jù)一個DropDownList選擇不同,后面部分出現(xiàn)不同的輸入界面,若把響應事件放在服務端去做,得頻繁刷頁面。就想放在客戶來處理顯示和隱藏相應的輸入界面。
    2010-03-03
  • .Net反向代理組件Yarp用法詳解

    .Net反向代理組件Yarp用法詳解

    本文詳細講解了.Net反向代理組件Yarp的用法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-09-09
  • asp.net中獲取新增加記錄的ID Access版

    asp.net中獲取新增加記錄的ID Access版

    在實際開發(fā)中有時需要獲取新增加的記錄的ID。如以新增加ID為文件名生成靜態(tài)頁等
    2012-03-03
  • Asp.net中判斷一個session是否合法的方法

    Asp.net中判斷一個session是否合法的方法

    今天突然想到一個判斷session是否合法的做法,asp.net的,之前我們的做法是下面這樣的形式的:
    2013-07-07

最新評論