好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > 無法將類型為“System.Web.UI.WebControls.HiddenField”的對象強制轉換為類型的錯誤的解決

無法將類型為“System.Web.UI.WebControls.HiddenField”的對象強制轉換為類型的錯誤的解決

熱門標簽:銅川小型外呼系統運營商 陜西人工外呼系統哪家好 浙江外呼系統怎么安裝 山西防封卡電銷卡套餐 上海楊浦怎么申請申請400電話 廈門商鋪地圖標注 地圖標注多個行程 海外地圖標注門市標 云南外呼電銷機器人系統
本文章將解決:
1.解釋什么是System.Web.UI.LiteralControl
2.為什么會經常發生法將類型為“System.Web.UI.WebControls.HiddenField”的對象強制轉換為類型……的錯誤
3.GridView控件中查找模板列的控件(解釋Cells和Controls)

在用GridView控件綁定數據時,經常會要將某列轉換為模板列,如:
我們在頁面中拉一控件GridView,名字:GVData,將其中某列轉換為模板列,在這里我們轉換的是列“所屬單位”,頁面模板列部分代碼如下:
asp:TemplateField HeaderText="所屬單位">
EditItemTemplate>
asp:HiddenField ID="HDFxz" runat="server" Value='%#Bind("所屬單位") %>' />
asp:DropDownList ID="DDLxz" runat="server" />
/EditItemTemplate>
ItemTemplate>
asp:Label ID="Label1" runat="server" Text='%# return2dwNAME(Eval("所屬單位").ToString()) %>'>/asp:Label>
/ItemTemplate>
/asp:TemplateField>
由上大家可以看到,這個模板列的編輯模板下有兩個控件,一個是隱藏域HDFxz,一個是下拉列表DDLxz,然后我們在.cs頁面中取下拉列表DDLxz的值,部分代碼:
protected void GVData_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
string dwid = ((DropDownList)this.GVData.Rows[e.RowIndex].Cells[2].Controls[1]).SelectedValue;

}
注:以上是修改數據時觸發的,我們放到這里只是為了說明問題,不是全部代碼,沒有實際意義。
我們來解釋下,e.RowIndex是取得當前修改數據行的索引值,this.GVData.Rows[e.RowIndex]這個是由當前索引獲得當前行,Cells[2]表示是當前行下的第三列(從0開始算起),Controls[1]表示第三列下的第二個控件(也是從0算起),這樣解釋后我們就可以明白了,dwid 的值應當是要取的是下拉列表框DDLxz的值了(因為下拉列表框在編輯模板中屬于第二個控件,這個我們在上面提到過)。
運行后會出錯:無法將類型為“System.Web.UI.LiteralControl”的對象強制轉換為類型“System.Web.UI.WebControls.DropDownList”。

可能大家都很納悶了,再返回去檢查一遍,沒有數錯啊,這時我們就要看看到底什么是System.Web.UI.LiteralControl控件了?
System.Web.UI.LiteralControl:簡單的解釋是任何不需要在服務器上處理的其他字符串.
這也就是說我們上面的編輯模板存在“不需要在服務器上處理的其他字符串”,那會是什么在搞鬼呢。
經過分析這句話“其他字符串”,然后再看下模板列的源碼,懷疑是由于生成了模板列后產生了空格產生的,因為空格也是字符串啊,所以將源碼修改為:
asp:TemplateField HeaderText="所屬單位">
EditItemTemplate>asp:HiddenField ID="HDFxz" runat="server" Value='%#Bind("所屬單位") %>' />asp:DropDownList ID="DDLxz" runat="server" />/EditItemTemplate>
ItemTemplate>
也就是說把EditItemTemplate標簽之間的空格去掉。這時我們再運行,OK,大功告成啊,呵呵,原來真的是空格在搞鬼啊!.net把空格當成了System.Web.UI.LiteralControl了,呵呵!
您可能感興趣的文章:
  • System.Web中不存在類型或命名空間名稱“Optimization”(是否缺少程序集引用?)
  • System.Web中不存在類型或命名空間名稱script 找不到System.Web.Extensions.dll引用

標簽:孝感 西雙版納 信陽 許昌 常州 朔州 萊蕪 自貢

巨人網絡通訊聲明:本文標題《無法將類型為“System.Web.UI.WebControls.HiddenField”的對象強制轉換為類型的錯誤的解決》,本文關鍵詞  無法,將,類型,為,System.Web.UI.WebControls.HiddenField,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《無法將類型為“System.Web.UI.WebControls.HiddenField”的對象強制轉換為類型的錯誤的解決》相關的同類信息!
  • 本頁收集關于無法將類型為“System.Web.UI.WebControls.HiddenField”的對象強制轉換為類型的錯誤的解決的相關信息資訊供網民參考!
  • 推薦文章