button控件的commandname、commandargument onclick、oncommand 的区别
button控件在执行后被解析为代码,而button控件的优点就在于提交程序的同时能够传递参数,传递参数是靠commandname与commandargument属性来完成的。
举两个button控件的例子。
<% @ page language="c#" %>
问题:上文中两个程序采用的参数commandeventargs,eventargs有什么区别?为什么在第一个程序中使用eventargs,而不能使用commandeventargs(已经验证,出现“button_click”的重载均与委托“system.eventhandler”不匹配)?
例子:http://hi.baidu.com/fuhengyu/blog/item/b37e14fb3e6055264e4aea65.html
解决:在网上查资料得到的结果:
这类问题出现的原因就是在控件的一些事件里面调用了函数,而这些函数的参数与该事件所要用到的参数类型不一致。在msdn中搜索onpageindexchanging、onpageindexchanged等关键字就可以得到:
c#
protected virtual void onpageindexchanged (eventargs e)
c#
protected virtual void onpageindexchanging (detailsviewpageeventargs e)
c#
protected virtual void onrowdeleting (gridviewdeleteeventargs e)
c#
protected virtual void onrowdeleted ( datarowchangeeventargs e)
这样,在何种事件中使用什么样的参数类型就一目了然了。还有后面的onrowdeleted、onrowdeleting也是同样的道理。
相应事件:
public void mylist_page(object sender, gridviewpageeventargs e)
public void mydatagrid_delete(object sender, gridviewdeleteeventargs e)