Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 使用asp控件是否总是更好?_Asp.net - Fatal编程技术网

Asp.net 使用asp控件是否总是更好?

Asp.net 使用asp控件是否总是更好?,asp.net,Asp.net,我不知道哪一个更好 ASPX: 第二种选择是: <%if(IsShow){%> <a href="<%=url%>">HyperLink</a> <%}%> 这两种方法完全相同 哪一个更好,为什么?首选第一个主要是为了可读性(尽管粘贴的代码无效-您需要将其包装在脚本标记中,并指定执行逻辑的函数(即Page_Load) 第二,第二种方法在页面预呈现时执行,因此在页面生命周期后期执行逻辑会受到限制。在ASP.NET MVC中编程时,您

我不知道哪一个更好

ASPX:

第二种选择是:

<%if(IsShow){%>
<a href="<%=url%>">HyperLink</a>
<%}%>

这两种方法完全相同


哪一个更好,为什么?

首选第一个主要是为了可读性(尽管粘贴的代码无效-您需要将其包装在脚本标记中,并指定执行逻辑的函数(即Page_Load)

第二,第二种方法在页面预呈现时执行,因此在页面生命周期后期执行逻辑会受到限制。在ASP.NET MVC中编程时,您会注意到这种方法(因为没有代码隐藏模型)


在Web窗体中使用第一个方法,在ASP.NET MVC中使用第二个方法。

但是如果我需要修改链接,第一个选项需要编译。第二个选项不需要编译。这意味着我可以立即做出反应。不是吗?ASP.NET控件通常会消耗更多的服务器资源,因为需要创建控件的实例。Perso最后,我避免使用ASP.NET控件或仅使用纯HTML runat=“server”。它仍然需要编译。“IsShow”和“url”属性是服务器属性。页面生命周期仍将启动,这将导致评估所有页面属性。在本例中,您不需要任何服务器代码。只需将URL和IsShow作为变量呈现给客户端(使用RegisterClientSideScript),并在常规HTML锚定标记中使用它们。
String url = "http://stackoverflow.com";
if(IsShow)
{
    HyperLink1.Visible = true;
    HyperLink1.NavigateUrl = url;
}
<%if(IsShow){%>
<a href="<%=url%>">HyperLink</a>
<%}%>