请教高手:控件事件如何写在类上面,而不直接写在.CS文件里面
我有好几个页面都有GridView1事件RowDataBound,这些事件内容都很相似,能不能不写在.CS文件里面,而写在类里面调用?(小小的面向对象)
r如:page1.cs
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Cells[2].Text="<a href=\"#\" onclick=\"javascript:window.open('View.aspx?sort=1& id="+e.Row.Cells[1].Text.Trim()+"');\">测试</a>";
}
}
------解决方案--------------------控件的事件应该写在装在控件页面对应的类里面
------解决方案--------------------
方法1 做个公用控件,把这个grewview 做成一个用户控件 (推荐)
方法2 写个公共方法,
public void RowDataBound( GridViewRowEventArgs e)
{
if{e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Cells[2].Text=" <a href=\"#\" onclick=\"javascript:window.open('View.aspx?sort=1& amp; id="+e.Row.Cells[1].Text.Trim()+"');\">测试 </a>";
}
}
在调用处:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
xxxx.RowDataBound( GridViewRowEventArgs e);
}