asp.net – Web Forms错误消息:“这不是scriptlet 将输出为纯文
在我的ASP.NET Web窗体我有以下声明性代码:
<asp:TextBox runat="server" ID="txtbox" CssClass='<%=TEXTBOX_CSS_CLASS%>' /> 常量TEXTBOX_CSS_CLASS在页面的代码隐藏类继承自的基类中定义: public class MyPageBase : Page { protected internal const string TEXTBOX_CSS_CLASS = "myClass"; } 然而编辑时编译器却告诫我,“这不是scriptlet [sic],会输出为纯文本”。 这个错误消息是什么意思,有没有解决方法,所以我仍然可以在基类中使用常量? 解决方法
您不能使用<%= ...%>设置服务器端控件的属性。
内联表达式<%%>只能用在 aspx页面或用户控件的顶级文档级别,但无法嵌入 服务器控件的标签属性(例如< asp:Button ... Text =<%%> ..>)。 如果您的TextBox位于DataBound控件(如GridView,ListView ..)中,您可以使用:<%#%>句法。或者您可以从代码隐藏或内联服务器脚本显式调用控件上的DataBind()。 <asp:TextBox runat="server" ID="txtbox" class='<%# TEXTBOX_CSS_CLASS %>' /> //代码后面的文件 protected void Page_Load(object sender,EventArgs e) { txtbox.DataBind(); } ASP.NET包含很少的内置表达式构建器,可以从web.config文件中提取自定义应用程序设置和连接字符串信息。例: >资源 因此,如果要从< appSettings>中检索名为className的应用程序设置web.config文件的一部分,您可以使用以下表达式: <asp:TextBox runat="server" Text="<%$ AppSettings:className %>" /> 但是,以上代码片段不是从Appsettings中读取类名的标准。 您可以构建和使用您自己的Custom ExpressionBuilders或使用后面的代码: txtbox.CssClass = TEXTBOX_CSS_CLASS; Check this link建立自定义表达式构建器。 <asp:TextBox Text="<%$ SetValue:SomeParamName %>" ID="setting" runat="server" /> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 在asp.net httpContext.Cache中存储/检索项目最有效的方法是
- asp.net-mvc-2 – 如何在不设置Content-Disposition标签的情
- asp.net-mvc – HTMLHelper,从属性中生成“Expression> exp
- asp.net-mvc – ASP.NET MVC 4在调试模式下捆绑js文件
- asp.net-mvc – asp.net mvc 4将表单从站点发送到电子邮件
- asp.net – 如何设置访问控制允许源于特定文件web.config
- asp.net – Web API服务 – 如何在异步任务中使用“HttpCon
- asp.net core标签助手的高级用法TagHelper+Form
- asp.net-mvc – ASP.Net MVC中的实时视频聊天录制解决方案
- asp.net-mvc – 我应该在ASP.NET MVC项目中将类文件存储在哪
- asp.net – 如何设置Thread.CurrentPrincipal以在
- asp.net-mvc – ELMAH MVC 2 – Castle Windsor的
- .NET HttpSessionState案例不敏感
- asp.net – 将日期字符串转换为DateTime格式vb.n
- asp.net-mvc-4 – 如何在asp.net mvc4中将OpenID
- Buddy Class中的必需属性不适用于Entity Framewo
- 在ASP.NET中流式传输大文件上传
- ASP.NET – 从内容页面访问主页面元素
- asp.net-mvc – 没有区域的ASP.NET Web API中的多
- asp.net – REST动词 – 哪个约定是“正确的”