ASP.NET - 内联与代码隐藏
-
05-07-2019 - |
题
我意识到,通过提出这个问题,我本可以开始启示,但是我的同事在他们的aspx页面中使用了很多内联编码,而我更喜欢使用代码隐藏。
这里有正确与错误的方式吗?
解决方案
。
IMO代码隐藏有助于分离关注点,所以我更喜欢这样,但有时只处理一个文件也很好。
其他提示
代码隐藏是更传统和更合理的地方。如果它有效,它可以工作,但我不能忍受在aspx中这样做。
我做了一段确切的帖子:
OnDataBinding vs Inline:优点,缺点和开销
我更喜欢背后的代码。我通常有一个#region区域用于所有数据绑定的东西。它允许熟练使用HTML / CSS的人来调整HTML,他们必须知道的是要使用的基本控件以及在控件定义中定义OnDataBinding事件。他们可以移动东西并做任何事情,并且不知道将数据放入数据绑定所需的实际内容,因为它可能不仅仅是基本的'Eval(<!> quot; something <!> quot;)那么简单;
嗯,有内联代码,然后是内联代码。如果你的page_load顶部有一个脚本块,那就没问题了。但是如果你在标记中混入了很多蜜蜂(<% %>
),那么当这些蜜蜂不能像你想要的其他服务器控件一样工作时,你最终会遇到麻烦。
我个人更喜欢编译错误到运行时错误,所以我将所有逻辑放在代码中。
偶尔当我只需要在页面上显示一个值时,我会把<!> lt;%= SomeValue%<!> gt;但即便如此,我更喜欢创建一个标签并进行设置。
我想确保我理解这个问题 - 通过内联,你的意思是像
这样的片段吗?<a><% some.asp.net.code %></a>
或者你的意思是每页的一个文件对两个文件:
page.aspx
page.aspx.cs
因为我不是第一个例子中我称之为“嵌入式”代码的粉丝,但我更喜欢使用<!> lt;在同一个文件中使用代码和标记。 script runat = <!> quot; server <!> quot; <!> gt;
这两者都没有对错。
您可以编写一些代码内联<!>放大器;其中一些应该用代码隐藏编写。它不可能是绝对的。取决于你在另一边写它时的可读性/可维护性。
编辑:正如所说的那样,编写人类<!>放大器的代码;顺便提一下编译器。我倾向于使用代码隐藏,因为它是WPF的唯一方法,我试着保持一致,感觉更自然。但那是主观的。