3
我很困惑哪一个更好。使用asp Control总是更好吗?
ASPX:
<asp:HyperLink ID="HyperLink1" runat="server">HyperLink</asp:HyperLink>
代码:
String url = "http://stackoverflow.com";
if(IsShow)
{
HyperLink1.Visible = true;
HyperLink1.NavigateUrl = url;
}
和第二个选项是:
<%if(IsShow){%>
<a href="<%=url%>">HyperLink</a>
<%}%>
这两种方法可以做到完全一致。
哪一个更好,为什么?
但是,如果我需要修改链接,第一个选项需要被编译。第二个选项不需要编译。这意味着我可以立即作出反应..不是吗? – 2010-07-06 11:55:18
由于需要创建控件的实例,ASP.NET控件一般消耗更多的服务器资源。就个人而言,我避免使用ASP.NET控件或仅使用普通的HTML runat =“server”。 – airmanx86 2010-07-06 14:32:54
它仍然需要编译。 “IsShow”和“url”属性是服务器属性。页面生命周期仍然会启动,这会导致所有页面属性被评估。在这个例子中,你不需要任何服务器代码。只需将URL和IsShow作为变量(使用RegisterClientSideScript)呈现给客户端,并在常规的HTML定位标记中使用它们即可。 – RPM1984 2010-07-07 01:00:50