我意识到,通过提出这个问题,我本可以开始启示,但是我的同事在他们的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的唯一方法,我试着保持一致,感觉更自然。但那是主观的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top