无法将类型为“AjaxControlToolkit.MaskedEditExtender”的对象转换为类型“System

本文关键字:类型 对象 System 转换 AjaxControlToolkit MaskedEditExtender | 更新日期: 2023-09-27 18:35:26

>我正在使用这个:http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/MaskedEdit/MaskedEdit.aspx

在一列中,我有多个文本框绑定到数据库中的某些列。我的目标是从那些蒙版编辑的文本框中获取值。由于列中有 4 个控件,我正在尝试获取这样的值:

String firstTXT = ((TextBox)(row.Cells[5].Controls[1])).Text;
String SecondTXT = ((TextBox)(row.Cells[5].Controls[2])).Text;

我可以从第一个文本框中获取值而没有任何错误(但它也被屏蔽了)。当我尝试从第二个我得到: Unable to cast object of type 'AjaxControlToolkit.MaskedEditExtender' to type 'System.Web.UI.WebControls.TextBox' .

有机会解决吗?谢谢

无法将类型为“AjaxControlToolkit.MaskedEditExtender”的对象转换为类型“System

显然,单元格中的第三个控件是增强第一个文本框的MaskedEditExtender。根据您的标记,您可能希望改为获取第四个控件:

string secondTXT = ((TextBox) row.Cells[5].Controls[3]).Text;

或者,更好的是,为文本框提供id属性并使用 FindControl() 获取它们:

string firstTXT = ((TextBox) row.Cells[5].FindControl("firstID")).Text;
string secondTXT = ((TextBox) row.Cells[5].FindControl("secondID")).Text;