簡體   English   中英

為什么此代碼無法在ListView中找到我的文本框?

[英]Why isn't this code finding my textbox in my ListView?

我有一個帶有EditTemplate的列表視圖。 如果列表視圖中有一項,則以下代碼將引發null異常:

if((TextBox)this.lvwColors.EditItem.FindControl("txtColor")) != null)
{
   this.Color =    
   ((TextBox)this.lvwColors.EditItem.FindControl("txtColor")).Text.Trim();
}

如果我在列表視圖中有兩個項目,則不會引發錯誤。

另一個奇怪的事情是,它僅在生產服務器上時才會引發錯誤,但是當我在本地進行測試時,卻沒有得到該錯誤。 有誰知道為什么這種行為可能存在?

這是標記的EditTemplate部分:

<EditItemTemplate>          
    <asp:TextBox ID="txtColor" runat="server" 
                 Text='<%#   Eval("Color").ToString().Trim() %>'
</EditItemTemplate>

ListView.ItemEditing事件

列表顯示:

 protected void yourListView_ItemEditing(Object sender, ListViewEditEventArgs e)
  {
    ListViewItem item = yourListView.Items[e.NewEditIndex];

    if((TextBox)item.FindControl("txtColor") != null)
    {
       this.Color =    
          ((TextBox)item.FindControl("txtColor")).Text.Trim();
    }

  }

暫無
暫無

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

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