如:BLL层        public int Add(ModelNews model)
        {
int MemID=return INews.Add;
                                         
                return NewsID;
            }
            else
                return 0;
        }如何写一个事件,然后在页面UI中这样调用:
 protected void Added(object sender, EventArgs e){处理添加完成后的代码
}

解决方案 »

  1.   

    Bll层的类假设 是 A后台
    using BLL; protected void Added(object sender, EventArgs e){A _a = new A();
    _a.Add(model);}
      

  2.   

    BLL里没有必要写事件的,BLL是写业务方法的
    然后在UI的事件直接调用这些方法就像楼上的代码一样
      

  3.   

    单就事件编程的语法来讲,你可以参考:http://www.google.cn/search?q=c%23+%E8%AF%AD%E6%B3%95+event&rls=com.microsoft:*:IE-SearchBox&ie=UTF-8&oe=UTF-8&sourceid=ie7&rlz=1I7GGIJ或者请直接找一本c#语言语法的标准入门书从头至尾地看一遍。
    但是就你的问题中“然后在页面UI中这样调用”这个来说,反倒比较难以理解你的问题的“根基”在哪里。你写的页面Page中的事件处理程序,是因为asp.net调用了页面对象实例,而这个对象又回调了你写的代码。事件总有一个“发送者”,并且这个发送者之所以可以回调客户都是因为它在一个流程中。因此我不知道你的流程是什么,如果你对流程设计错误,那么你选择事件编程来解决你的问题也就不一定正确。
      

  4.   

    MARK 为什么要采用事件编程?优势何在?
      

  5.   

    对楼主有点不理解了...
    如果bll里要写事件..那么必然有对象去调用这个事件.
    而bll的调用者为UI层...两个没有直接关系
    楼主的实现应该要采用 Delegate 去实现
    不过 不建议楼主让bll层复杂话.第二种解决方案标题中提到的 Page_Load事件的执行模式 你可以认为是重载机制.看作为这个(但是不是,这里用来解释)
    public partial class yourpage : page
    {
        protected override void Page_Load(object sender, EventArgs e)
        {    }
    }
    //而你所谓的事件建议你采用如下方式去完成
    //BLL
    public class yourclass{
       protected virtual bool Added(object o){   }
       public bool Add(object o){
          this.Added(o);
       }
    }
    //Page UI
    public partial class yourpage : page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            yourclass_likepageload yourcall = new yourclass_likepageload();
            yourcall.Add("yourmodel");
        }
    }public class yourclass_likepageload : yourclass
    {
        protected override bool Added(object o){
           //TODO:
           return true;
        }
    }这种方法只有在必要的时候再去用...
    不过一般这个不太用
    希望对楼主理解有帮助.
      

  6.   

    学一下面向对象
    先实例一个对象然后通过对象调用类里面的方法
    A类 对象a = new A类();
    a.Add(model);