关于取得DataList中的TextBox值的问题!
请问如何取得DataList中的TextBox!当我点击"修改"按钮的时候想得到当前行TextBox的值!我用这种方法不行,请高手帮我!!
public void DataList_ItemCommand(object sender,DataListCommandEventArgs e)
{
if (e.CommandName=="Modify")
{
DataList1.EditItemIndex=-1;
ListBind();
string a=((TextBox)e.Item.FindControl("ModifyButton")).Text;//这行报错!!
Response.Write(a);
}
}
报错如下:
Server Error in '/NetSystem' Application.
--------------------------------------------------------------------------------
Specified cast is not valid.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.InvalidCastException: Specified cast is not valid.
Source Error:
Line 90: ListBind();
Line 91:
Line 92: string a=((TextBox)e.Item.FindControl("ModifyButton")).Text;
Line 93:
Line 94: Response.Write(a);
Source File: d:\netsystem\productcharacteristicadd.aspx.cs Line: 92
问题点数:50、回复次数:24Top
1 楼yb2008(中科商务网--ZKE360.COM)回复于 2005-08-01 09:41:27 得分 0
解决马上给分!!感谢!Top
2 楼520zyb(欲穷千里目,更上一层楼)回复于 2005-08-01 09:46:10 得分 0
string a=((TextBox)e.Item.FindControl("ModifyButton")).Text.ToString();Top
3 楼yb2008(中科商务网--ZKE360.COM)回复于 2005-08-01 09:53:39 得分 0
回:520zyb(学无止尽) ( ) 信誉:100
Server Error in '/NetSystem' Application.
--------------------------------------------------------------------------------
Specified cast is not valid.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.InvalidCastException: Specified cast is not valid.
Source Error:
Line 86: //{
Line 87:
Line 88: string a=((TextBox)e.Item.FindControl("ModifyButton")).Text.ToString();
Line 89:
Line 90:
Top
4 楼baivkechen()回复于 2005-08-01 09:59:38 得分 0
在page_load事件中写
if (!this.IsPostBack)
DataList1.DataBind();
或 ListBind();
Top
5 楼baivkechen()回复于 2005-08-01 10:05:48 得分 0
把这两句写在后面Top
6 楼baivkechen()回复于 2005-08-01 10:06:35 得分 0
DataList1.EditItemIndex=-1;
ListBind();
把这两句写在后面
Top
7 楼yb2008(中科商务网--ZKE360.COM)回复于 2005-08-01 10:18:33 得分 0
这两句我把它删除 了,还是不行....大哥们帮我呀!Top
8 楼yb2008(中科商务网--ZKE360.COM)回复于 2005-08-01 10:21:16 得分 0
DataList中,<asp:datalist id="DataList1" runat="server" Height="81px" Width="372px" BorderWidth="0px" ForeColor="Transparent" OnItemCommand="DataList_ItemCommand">
我用的是:OnItemCommand="DataList_ItemCommand"
是不是这里不对呢???Top
9 楼iuhxq(小灰)回复于 2005-08-01 10:32:09 得分 0
更新要用更新事件
查查SDK,很简单的Top
10 楼baivkechen()回复于 2005-08-01 10:33:14 得分 0
在page_load事件中写
if (!this.IsPostBack)了吗?Top
11 楼jimu8130(火箭的未来在哪里?)回复于 2005-08-01 10:35:57 得分 0
=((TextBox)e.Item.FindControl("ModifyButton")).Text;
你这句findcontrol写的名字是button的名字,而要得到的事textbox,Top
12 楼jimu8130(火箭的未来在哪里?)回复于 2005-08-01 10:39:01 得分 0
所以应该这样写
((TextBox)e.Item.FindControl("TextBoxID")).Text.ToString().Trim();
………………
DataList1.EditItemIndex=-1;
ListBind();
Top
13 楼jimu8130(火箭的未来在哪里?)回复于 2005-08-01 10:46:59 得分 0
lz看看是不是我说的这样的错Top
14 楼yb2008(中科商务网--ZKE360.COM)回复于 2005-08-01 10:49:30 得分 0
关键是现在取不到ModifyButton的值呀!Top
15 楼520zyb(欲穷千里目,更上一层楼)回复于 2005-08-01 10:54:47 得分 25
你是要取Button的值,还是TextBox的值?
取TextBox的值:
((TextBox)e.Item.FindControl("TextBoxID")).Text.ToString().Trim();
取Button的值:((Button)e.Item.FindControl("ButtonID")).Text.ToString().Trim();
转换要一致!
Top
16 楼jimu8130(火箭的未来在哪里?)回复于 2005-08-01 10:58:41 得分 0
寒,你的textbox的id是ModifyButton这个么?
如果你要找button那么((ImageButton)e.Item.FindControl("ModifyButton"))
Top
17 楼jimu8130(火箭的未来在哪里?)回复于 2005-08-01 10:59:50 得分 25
520写的button是错误的,Top
18 楼yb2008(中科商务网--ZKE360.COM)回复于 2005-08-01 11:08:56 得分 0
是的,我这样写总不该会有错吧!!
string a=((TextBox)e.Item.FindControl("ModifyButton")).Text;Top
19 楼yb2008(中科商务网--ZKE360.COM)回复于 2005-08-01 11:12:26 得分 0
我的ModifyButton是TextBox的ID,我想得到TextBox的值!Top
20 楼520zyb(欲穷千里目,更上一层楼)回复于 2005-08-01 11:15:17 得分 0
应该在编辑状态下才能取得TEXTBOX的值,你还是用EditCommand来做吧.
你已经用DataList1.EditItemIndex=-1把当前行取消了,应该在操作完后再指定.Top
21 楼yb2008(中科商务网--ZKE360.COM)回复于 2005-08-01 11:17:57 得分 0
好的,我试试,可行,马上给分了!Top
22 楼jimu8130(火箭的未来在哪里?)回复于 2005-08-01 11:21:02 得分 0
如果名字id是textbox的没错的话,这句就应该没有错。Top
23 楼yb2008(中科商务网--ZKE360.COM)回复于 2005-08-01 11:33:13 得分 0
是不是我的按钮要放到"编辑模板"中才可以?Top
24 楼yb2008(中科商务网--ZKE360.COM)回复于 2005-08-01 11:43:48 得分 0
是不是datalist 不能用Textbox,为何取不取值呢,,,,,Top




