[英]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>
列表顯示:
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.