注册 登录
编程论坛 ASP.NET技术论坛

[求助]用户自定义控件

cyyu_ryh 发布于 2007-09-21 12:11, 1042 次点击

我的自定义控件里有一个Buttion和一个文本框
我在web页中引用该自定义控件,我怎样才能找到自定义控件下的buttion按钮的ID呢?
我是这样写代码的cs下

wucl gv = (wucl)sender;
TextBox txt = (TextBox)gv.FindControl("TextBox1");
Response.Write("<script>alert('" + txt.Text + "');</script>");
return;


html下:

<uc1:wucl ID="Wucl1" runat="server" />

提示:
Unable to cast object of type 'ASP.default3_aspx' to type 'wucl'.

多谢

9 回复
#2
jxnuwy042007-09-21 12:14
你应该在cs里声明一个变量,就是这样的: protected wucl Wucl1;,这里的变量名跟你放进页面的用户控件的ID要一样.
#3
bygg2007-09-21 12:48
你引用都没加,怎么能找到呢??
<%....%>
#4
cyyu_ryh2007-09-21 12:55
回复:(bygg)你引用都没加,怎么能找到呢??

是这个吧?
<%@ Register Src="wucl.ascx" TagName="wucl" TagPrefix="uc1" %>

我现在要找到里面的控件时在绑定数据,用的是Gridview,好像不能绑定
说明:不是在自定义控件中绑定

#5
cyyu_ryh2007-09-21 13:07
回复:(jxnuwy04)你应该在cs里声明一个变量,就是这...
咋说已经声明了呢?
#6
bygg2007-09-21 13:27
不能绑定??那能不能找到那个控件呢?
#7
jxnuwy042007-09-21 13:37
以下是引用cyyu_ryh在2007-9-21 12:55:10的发言:

是这个吧?
<%@ Register Src="wucl.ascx" TagName="wucl" TagPrefix="uc1" %>

我现在要找到里面的控件时在绑定数据,用的是Gridview,好像不能绑定
说明:不是在自定义控件中绑定

你在cs代码文件中能找到这个用户控件吗?就比如说你拖进一个test.ascx(ID为test1)放到default.aspx中,在default.aspx.cs中能找到test1吗?,换句话说就是在default.aspx.cs中当你输入test1.的时候有没有智能提示呢?

#8
cyyu_ryh2007-09-21 15:21

多谢各位大哥,可以了

if (!IsPostBack)
{

Users users = new Users();
//找Gridview控件
GridView dd = (GridView)WebUserControl1.FindControl("GridView1");
dd.DataSource = users.QueryData();
dd.DataBind();
}


#9
bygg2007-09-21 15:26
搞不明白,干嘛把GridView加到自定义控件中去...呵
#10
cyyu_ryh2007-09-21 16:16
因为分页是自定义分页,这样可以减少代码撒
1