当我在项目中添加asp.net网页时,我遇到了一个问题。通常我们将服务器端代码放在codebehind文件中。如果我们将代码和页面设计标记放在同一页面中,服务器端处理能否有任何改进?我指的是这样的做法:
<div>
<%if (ViewState["user-id"] != null)
{%>
<div>Hi, You are welcome.</div>
<%}
else
{%>
<div>Hi, please login or register.</div>
<%} %>
</div>
如果我们使用单独的代码隐藏文件,我们将在页面加载事件中执行所有这些操作,并根据测试使div元素可见,不可见。我们甚至可以在设计页面中只有一个div并相应地设置其内部文本。有什么建议吗?
答案 0 :(得分:1)
有趣的问题。
如果运行速度更快,您将不得不抵消此页面上的维护成本。在经典ASP时代,这种编码风格很常见。标记可能是一个难以维持的噩梦,特别是如果您的编码团队和设计团队是不同的人。
我的建议?当你想在tie-fighter语法中吐出一个值时,只使用内联函数。
<%= Greeting %>
将代码隐藏用于涉及控制或循环结构的任何内容。我真的对内联是否比代码隐藏更快感兴趣,但是与使用这种方法维护软件的麻烦相比,可能获得的任何速度增加都将是完全可以忽略不计的。
答案 1 :(得分:1)
保罗完全正确......这将是一场噩梦。不要这样做。 :|
回答原来的问题......不,这不会给你任何速度提升。充其量,它是收支平衡的。但它实际上可能会造成性能损失。想想这个代码在后端实际上做了什么,在ASP.NET引擎中应该是显而易见的。