ASP.NET - 内联与代码隐藏

时间:2009-07-29 16:19:50

标签: asp.net inline code-behind

我意识到,通过提出这个问题,我本可以开始启示,但是我的同事在他们的aspx页面中使用了很多内联编码,而我更喜欢使用代码隐藏。

这里有正确与错误的方式吗?

8 个答案:

答案 0 :(得分:5)

代码隐藏是更传统和更合理的地方。如果它有效,它可以工作,但我不能忍受在aspx中这样做。

答案 1 :(得分:5)

除非您的编码标准另有说明,否则

IMO代码隐藏有助于分离关注点,所以我更喜欢这样,但有时只处理一个文件也很好。

答案 2 :(得分:1)

我做了一段确切的帖子:

OnDataBinding vs Inline: pros, cons and overhead

我更喜欢背后的代码。我通常有一个#region区域用于所有数据绑定的东西。它允许熟练使用HTML / CSS的人来调整HTML,他们必须知道的是要使用的基本控件以及在控件定义中定义OnDataBinding事件。他们可以移动东西并做任何事情,并且不知道将数据导入数据绑定所需的实际内容,因为它可能不像基本的'Eval(“某些东西”)那么简单;。

答案 3 :(得分:1)

嗯,有内联代码,然后是内联代码。如果你的page_load顶部有一个脚本块,那就没问题了。但是如果你把很多蜜蜂(<% %>)与标记混合在一起,那么当这些蜜蜂不能像你想要的其他服务器控件一样工作时,你最终会遇到麻烦。

答案 4 :(得分:1)

我个人更喜欢编译错误到运行时错误,所以我将所有逻辑放在代码中。

偶尔当我只需要在页面上显示一个值时,我会将&lt;%= SomeValue%&gt;但即便如此,我更喜欢创建一个标签并进行设置。

答案 5 :(得分:1)

我想确保我理解这个问题 - 通过内联,你的意思是像

这样的片段吗?
<a><% some.asp.net.code %></a>

或者你的意思是每页的一个文件对两个文件:

page.aspx
page.aspx.cs

因为我不是第一个例子中我称之为“嵌入式”代码的粉丝,但我更喜欢使用&lt;相同的文件中的代码和标记。脚本runat =“server”&gt;

答案 6 :(得分:0)

这两者都没有对错。

你可以编写一些代码内联和其中一些应该用代码隐藏编写。它不可能是绝对的。取决于你在另一边写它时的可读性/可维护性。

编辑:正如所说,为人类和&amp;编写代码。顺便提一下编译器。

答案 7 :(得分:0)

我倾向于使用代码隐藏,因为它是WPF的唯一方法,我试着保持一致,感觉更自然。但那是主观的。