对于想要将一切都变成.NET控件的人,你会怎么说?

Lar*_*nal 3 asp.net custom-controls

例如,我们有一些CSS规则来定义表单布局.我们使用以下标记:

<div class="foo">
    <label class="bar req">Name<em>*</em></label>
    <span>
        <asp:TextBox runat="server"/>
            <label>First</label>
    </span>
    <span>
        <asp:TextBox runat="server"/>
            <label>Last</label>
    </span>
    <div class="clear"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

在我看来,这是完美的标记.遵循这些规则并不是一种负担,因为无论如何你都应该担心干净,正确的标记.建议我们使用类似于以下内容的控件"强制执行"这些规则:

<x:FormField runat="server" Label="Name" Required="True">
    <x:TextBox runat="server" hint="First"/>
    <x:TextBox runat="server" hint="Last"/>
</x:FormField>
Run Code Online (Sandbox Code Playgroud)

我的直觉告诉我,XHTML标记是我们的朋友,而不是我们的敌人.两个问题:

  1. 我完全偏离基础以抵制使所有这些自定义控件只是为了发出标记?
  2. 如果您同意我的意见,您会给出什么理由?

Joe*_*orn 17

我投票使用控件,因为如果该标记发生了变化(比如你想在框中添加一些不错的jQueryUI效果或添加一个RequiredFieldValidator控件),你可以在一个地方进行更改并完成它.干.


Fra*_*nov 7

反对控制:

  • 表现数字.测量基线XHTML页面和相同的页面,其上有20个控件,它们发出相同的标记.这会给你一个估计.
  • 附加费用.您需要分析开发,测试和维护这些控件的成本.

对于控件:

  • 一致性.现在,您只需一个地方即可控制所有需要的XHTML结构,并且它将在所有页面中保持一致.
  • 回归.您可以进行适当的单元和场景测试,以确保您的XHTML结构符合您的要求.
  • 重用.您将来可以在其他项目中重用相同的控件.