我意识到,通过提出这个问题,我本可以开始天启,但我的一位同事在他们的 aspx 页面中使用了很多内联编码,而我更喜欢使用代码隐藏。
这里有正确和错误的方式吗?
我意识到,通过提出这个问题,我本可以开始天启,但我的一位同事在他们的 aspx 页面中使用了很多内联编码,而我更喜欢使用代码隐藏。
这里有正确和错误的方式吗?
代码隐藏是更传统和合乎逻辑的地方。如果它工作,它工作,但我不能忍受在 aspx 中这样做。
除非您的编码标准另有说明,否则不会。
IMO 代码隐藏有助于分离关注点,所以我更喜欢这样做,但有时只处理一个文件也很好。
我不久前发表了确切的帖子:
OnDataBinding vs Inline:优点、缺点和开销
我更喜欢后面的代码。我通常有一个用于所有数据绑定内容的#region 区域。它允许精通 HTML / CSS 的人员调整 HTML,他们所知道的只是使用哪些基本控件并在控件定义中定义 OnDataBinding 事件。他们可以四处移动并做任何事情,并且不知道将数据放入该数据绑定中实际需要什么,因为它可能不像基本的'Eval(“something”);那么简单。
嗯,有内联代码,然后是内联代码。如果您在 page_load 的顶部有一个脚本块,那很好。但是,如果您在<% %>
标记中混入了很多蜜蜂蜇伤 ( ),那么当这些蜜蜂蜇伤无法像您希望的其他服务器控件一样工作时,您最终会遇到麻烦。
就我个人而言,我更喜欢编译错误而不是运行时错误,所以我将所有逻辑都放在代码后面。
有时,当我只需要在页面上显示一个值时,我会放 <%=SomeValue%> 但即便如此,我还是更喜欢创建一个标签并设置它。
我想确保我理解这个问题 - 通过在线,你的意思是像这样的片段
<a><% some.asp.net.code %></a>
还是您的意思是每页一个对两个文件:
page.aspx
page.aspx.cs
?
因为我不喜欢第一个示例中所谓的“嵌入”代码,但我更喜欢使用 <script runat="server"> 将代码和标记放在同一个文件中
这两者都没有对错。
您可以编写一些内联代码,其中一些应该在代码隐藏中编写。不可能是绝对的。取决于你在另一边写它时它的可读性/可维护性。
编辑:正如所说,为人类编写代码,顺便为编译器编写代码。
我倾向于使用代码隐藏,因为它是 WPF 的唯一方法,我尝试保持一致并且感觉更自然。但那是主观的。