Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在asp.net中重写基本方法?_Asp.net - Fatal编程技术网

如何在asp.net中重写基本方法?

如何在asp.net中重写基本方法?,asp.net,Asp.net,我想在asp.net中创建自定义Textbox控件,但当我重写基本方法时,我有一个疑问,我得到了预定义的语法,类似这样 base.OnRender(writer); 现在我的问题是,从哪里开始编写代码,意思是Base.OnRender之前或Base.OnRender之后。通常是Base.OnRender之后 仅当您希望继承基本方法行为,并且在这种情况下,您应该在调用基本方法后启动重写的代码时,才应包括基本方法 但是这并不是必需的,而是最符合逻辑和最可靠的。如果您根本不希望发生基类行为,那么应

我想在asp.net中创建自定义Textbox控件,但当我重写基本方法时,我有一个疑问,我得到了预定义的语法,类似这样

 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之前?