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。所以他就出错了...
展开
 我来答
zwl_828
2012-09-21 · TA获得超过1047个赞
知道小有建树答主
回答量:367
采纳率:100%
帮助的人:436万
展开全部
首先建议先再好好学习一下事件相关知识。
你的写法是可以的,不过事件参数是不对的,好吧,sender是object不会报错,但是他指的是事件源。看后面的EventArgs是事件参数,DataListItemEventArgs继承自EventArgs,如果你反过来调用反倒不会报错。
按如下改法就能达到你的要求 DataList1_ItemDataBound(sender, null);
不过可能造成的后果是 sender事件源不正确,自然EventArgs也不会有正确的信息了。
追问
这样会提示:未将对象引用设置到对象的实例..   请问应该怎么解决呢?
追答
给你提供一个思路,ItemDataBound是在数据源绑定时触发,你想通过点击一个按钮点击事件达到此目的,你可以在点击事件中设置DataList的数据源,并进行绑定,这样一来Bound事件就可以在你点击按钮的时机之后触发了。 就说这么多了,建议再多自己研究一下。
百度网友6ca0ba3
2012-09-21 · TA获得超过1489个赞
知道小有建树答主
回答量:360
采纳率:0%
帮助的人:577万
展开全部
事件参数类型不一样,如果事件里面没用到可以这么写
DataList1_ItemDataBound(sender, new DataListItemEventArgs());
追问
可他会提示说: 不包含采用“0”个参数的构造函数      = =、
追答
如果用到了e的话……
那你必须重新改一下代码了,换个思路才行。
因为在点击事件里面是没有DataListItemEventArgs这个事件的参数的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
JimiYam
2012-09-21 · TA获得超过366个赞
知道小有建树答主
回答量:736
采纳率:0%
帮助的人:762万
展开全部
DataList1_ItemDataBound(null,null);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
IT学习中
2012-09-21 · 超过24用户采纳过TA的回答
知道答主
回答量:157
采纳率:0%
帮助的人:74.7万
展开全部
你也可以用juquery写
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式