在控件的参数中使用<%%>

Ani*_*cho 2 .net asp.net user-controls

我希望做到以下几点,但似乎不可能,想知道是否有工作或一种方法使其工作.

<asp:RequiredFieldValidator ID="rfvImCool"
                            runat="server"
                            ErrorMessage="Some error message <%=//Do something here %>"
</asp:RequiredFieldValidator>
Run Code Online (Sandbox Code Playgroud)

您可以看到我<%= %>在ErrorMessage参数中使用该符号.

Ode*_*ded 6

由于<%=%>是:

<script runat="server">
Response.Write();
</script>
Run Code Online (Sandbox Code Playgroud)

您应该能够了解为什么不能在服务器端控件中使用它们.

您应该在代码隐藏页面中设置该属性:

rfvImCool.ErrorMessage = "Some error message " + " Do something here";
Run Code Online (Sandbox Code Playgroud)

  • 既然你不知道`<%=%>`是什么,我会提到你也应该查找[`<%:%>`(Html编码块)](http://haacked.com/archive /2009/09/25/html-encoding-code-nuggets.aspx)如果您使用的是.Net 4. (2认同)