如何在asp.net中重写基本方法?
我想在asp.net中创建自定义Textbox控件,但当我重写基本方法时,我有一个疑问,我得到了预定义的语法,类似这样如何在asp.net中重写基本方法?,asp.net,Asp.net,我想在asp.net中创建自定义Textbox控件,但当我重写基本方法时,我有一个疑问,我得到了预定义的语法,类似这样 base.OnRender(writer); 现在我的问题是,从哪里开始编写代码,意思是Base.OnRender之前或Base.OnRender之后。通常是Base.OnRender之后 仅当您希望继承基本方法行为,并且在这种情况下,您应该在调用基本方法后启动重写的代码时,才应包括基本方法 但是这并不是必需的,而是最符合逻辑和最可靠的。如果您根本不希望发生基类行为,那么应
base.OnRender(writer);
现在我的问题是,从哪里开始编写代码,意思是Base.OnRender之前或Base.OnRender之后。通常是Base.OnRender之后 仅当您希望继承基本方法行为,并且在这种情况下,您应该在调用基本方法后启动重写的代码时,才应包括基本方法
但是这并不是必需的,而是最符合逻辑和最可靠的。如果您根本不希望发生基类行为,那么应该删除该行 您应该在调用和方法之前、之后还是中间编写代码取决于调用和方法的语义(即,基本方法做什么以及您希望在重写的方法中做什么)
例如,如果您想在基类的HTML之前插入HTML,您将在之前添加代码。如果在之后,您将在之后编写代码。如果您想将HTML包装在您的HTML中,您可以在前后编写代码。自定义控件的
OnRender
方法的第一行是base.OnRender(writer)代码>
这就是您想要的吗?我的问题是,我应该从哪里开始编写代码,即在base.OnRender(writer)之前还是在base.OnRender之后,以及为什么?请参阅Oded的回答。这不是一条硬性规定,因为它取决于您希望实现的目标。感谢Saurabh的回复。为什么在base.OnRender之后而不是在base.OnRender之前?