我在代码隐藏文件中有一个函数,用于响应gridview事件:
protected void GridviewEval(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
foreach (TableCell cell in e.Row.Cells)
{
if (cell.Text == "0") { cell.Text = "-"; }
}
} }
它目前位于页面背后的代码中,我将在其他页面中使用它。我想在其他页面中使用相同的代码。当我将函数剪切并粘贴到类中时,它无效。
我确信这很简单,但我无法理解。
感谢。
答案 0 :(得分:0)
至少有两种方法。从您创建的类派生您的页面代码并在其中移动代码,或者使用代理机制,您可以在其中拥有单独的类,单例或静态类,并使页面中的方法仅作为将调用传递给singleton / static类的代理。
答案 1 :(得分:0)
这个方法很容易是静态的,所以只是静态类中的静态方法而且你是无家可归的。
public static class CommonEventHandlers
{
public static void GridviewEval(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
foreach (TableCell cell in e.Row.Cells)
{
if (cell.Text == "0") { cell.Text = "-"; }
}
}
}
}
然后在您拥有gridview的页面上,您可以像这样连接事件
myGrid.SomeEvent += new SomeEventHandler(CommonEventHandlers.GridviewEval)