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

时间:2011-08-23 12:31:50

标签: .net asp.net user-controls

我希望做到以下几点,但似乎不可能,想知道是否有解决方法或使其有效的方法。

<asp:RequiredFieldValidator ID="rfvImCool"
                            runat="server"
                            ErrorMessage="Some error message <%=//Do something here %>"
</asp:RequiredFieldValidator>

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

2 个答案:

答案 0 :(得分:6)

由于<%=%>缺少:

<script runat="server">
Response.Write();
</script>

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

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

rfvImCool.ErrorMessage = "Some error message " + " Do something here";

答案 1 :(得分:3)

您不能使用<%= %>,但您可以像这样使用数据绑定表达式<%# %>

<asp:RequiredFieldValidator ID="rfvImCool"
                        runat="server"
                        ErrorMessage="Some error message <%# SomePropertyOrEvalCall %>"
</asp:RequiredFieldValidator>

当调用控件的<%# %>方法时,将调用DataBind的内容(通常你会在Page上调用它,它会传播到子控件。