完整语法如下:
<%$ expressionPreFix: expressionValue %>
使用表达式语法<%$…%>,可以 从配置文件(web.config)中取得连接字符串和应用程序设置,或者从资源文件(.resx、.resource)中取得特定项的设置值。
取连接字符串
通常连接字符串存放在配置文件Web.config中。
<body> <form id="form1" runat="server"> <div> <asp:GridView ID="gv1" DataSourceID="sds1" runat="server"></asp:GridView> </div> <asp:SqlDataSource ID="sds1" ConnectionString="<%$ connectionstrings:northwindconnstr %>" SelectCommand="select * from customers" runat="server"></asp:SqlDataSource> </form> </body>
注意:当使用<%$…%>取配置文件中的连接字符串时,语法中的表达式前缀必须设置成ConnectionStrings,表达式值则设置成连接字符串的name属性值
取应用程序设置
通常会在配置文件Web.config的配置项目appSettings中保存一些自定义的应用程序设置。比如:文件路径、Web服务的Url、版权信息等。
<body> <form id="form1" runat="server"> <div> <asp:Literal ID="l1" runat="server" Text="<%$ appsettings:copyright %>" /><br /> <asp:Literal ID="l2" runat="server" Text="<%$ appsettings:application name %>" /><br /> <asp:Literal ID="l3" runat="server" Text="<%$ appsettings:studio name %>" /><br /> </div> </form> </body>
注意:取应用程序设置时,语法中表达式前缀必须设置为AppSettings;表达式值设置成Key属性值。
取资源文件设置
通常会在资源文件中存储 和语言、区域相关的信息。
如果要使用<%$…%>来取得资源文件中某个资源项目的设置值,可采用这个语法:
<%$ Resources: Class, ResourceID %>
Class指资源文件的主文件名;ResourceID指资源项目的名称。