asp.net 事件调用另一个事件
下面两个事件:protectedvoidDataList1_ItemDataBound(objectsender,DataListItemEventArgse){}pro...
下面两个事件:
protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e) {}
protected void Button1_Click(object sender, EventArgs e) {}
我想在单击button1控件的时候调用DataList1_ItemDataBound事件,应该怎么写?
在Button单击事件里面写:DataList1_ItemDataBound(sender, e); 是错的...
我也想到过把 DataList1_ItemDataBound 事件里的代码封装成方法,然后再button里调用,可是在DataList1_ItemDataBound 事件里我有几行代码是这样的:
Label lbluser = (Label)(e.Item.FindControl("lbluser"));
Label lblrank = (Label)(e.Item.FindControl("lblrank"));
需要用到参数e,这个e不是button的e。所以他就出错了... 展开
protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e) {}
protected void Button1_Click(object sender, EventArgs e) {}
我想在单击button1控件的时候调用DataList1_ItemDataBound事件,应该怎么写?
在Button单击事件里面写:DataList1_ItemDataBound(sender, e); 是错的...
我也想到过把 DataList1_ItemDataBound 事件里的代码封装成方法,然后再button里调用,可是在DataList1_ItemDataBound 事件里我有几行代码是这样的:
Label lbluser = (Label)(e.Item.FindControl("lbluser"));
Label lblrank = (Label)(e.Item.FindControl("lblrank"));
需要用到参数e,这个e不是button的e。所以他就出错了... 展开
4个回答
展开全部
首先建议先再好好学习一下事件相关知识。
你的写法是可以的,不过事件参数是不对的,好吧,sender是object不会报错,但是他指的是事件源。看后面的EventArgs是事件参数,DataListItemEventArgs继承自EventArgs,如果你反过来调用反倒不会报错。
按如下改法就能达到你的要求 DataList1_ItemDataBound(sender, null);
不过可能造成的后果是 sender事件源不正确,自然EventArgs也不会有正确的信息了。
你的写法是可以的,不过事件参数是不对的,好吧,sender是object不会报错,但是他指的是事件源。看后面的EventArgs是事件参数,DataListItemEventArgs继承自EventArgs,如果你反过来调用反倒不会报错。
按如下改法就能达到你的要求 DataList1_ItemDataBound(sender, null);
不过可能造成的后果是 sender事件源不正确,自然EventArgs也不会有正确的信息了。
追问
这样会提示:未将对象引用设置到对象的实例.. 请问应该怎么解决呢?
追答
给你提供一个思路,ItemDataBound是在数据源绑定时触发,你想通过点击一个按钮点击事件达到此目的,你可以在点击事件中设置DataList的数据源,并进行绑定,这样一来Bound事件就可以在你点击按钮的时机之后触发了。 就说这么多了,建议再多自己研究一下。
展开全部
事件参数类型不一样,如果事件里面没用到可以这么写
DataList1_ItemDataBound(sender, new DataListItemEventArgs());
DataList1_ItemDataBound(sender, new DataListItemEventArgs());
追问
可他会提示说: 不包含采用“0”个参数的构造函数 = =、
追答
如果用到了e的话……
那你必须重新改一下代码了,换个思路才行。
因为在点击事件里面是没有DataListItemEventArgs这个事件的参数的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
DataList1_ItemDataBound(null,null);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你也可以用juquery写
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询