2009-06-05 173 views
186

我已经在传统的ASP和ASP.NET中编程,并且我在服务器端代码的标记中看到了不同的标记。

我最近遇到一个good blog on MSDN是越过之间的区别:(用等号一起百分比)和

  • <%#(百分号和哈希/英镑/井号)
    • <%=

    <%#仅在数据绑定处评估,<%=在渲染时评估),但我也看到:

    • <%$(百分比和美元符号)和
    • <%@(百分号和符号)。

    我相信<%@加载类似程序集的东西,或许<%$从配置文件加载东西?我不太确定。

    我只是想知道是否有人可以为我澄清这一切,并可能解释为什么创建如此多不同的标签看起来有类似的目的是很重要的?

    +62

    我很高兴你问,因为它是很难谷歌;) – 2009-06-05 18:18:56

    +8

    不可能谷歌! – jdbosley 2014-07-25 16:18:03

    +0

    ''%#'经常与'eval'一起使用,但它并不必须:您可以使用它来运行任何服务器端代码,只要您在包含页面或其页面上运行“Page.DataBind()”母版页。看起来,如果你想将服务器端代码“注入”服务器端控件的属性,例如''。 – 2015-04-30 07:20:56

    回答

    263
    +0

    我想这是因为这是一个被接受的答案,但试图编辑/ w链接不起作用。这里是我尝试将关于“<%$”表达式评估的链接:http://msdn.microsoft.com/en-us/library/d5bd1tad.aspx – 2011-09-15 21:32:02

    +0

    太棒了!我知道这是旧的,但我最近2天一直在网上查找这个信息。谢谢! – jdbosley 2014-07-25 16:16:58

    +5

    所有这些都有名字吗?这些称为一个群体是什么? – Vippy 2015-02-26 18:25:33

    4

    你已经了解其中2(<%#仅在数据绑定评价,并<%=在渲染计算的),并为“<%@”答案是,它的编译器指令(即,这样的东西是什么你会穿上一个编译器的命令行)。

    我不知道“<%$”。