Использование <%%> внутри параметров элемента управления - PullRequest
2 голосов
/ 23 августа 2011

Я хотел бы сделать следующее, но это не представляется возможным, мне было интересно, есть ли обходной путь или способ заставить его работать.

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

Вы видите, что я использую знак <%= %> в параметре ErrorMessage.

Ответы [ 2 ]

6 голосов
/ 23 августа 2011

Поскольку <%=%> - это сокращение от:

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

Вы должны понять, почему вы не можете использовать их в серверном элементе управления.

Вам следует установить свойствона странице с выделенным кодом:

rfvImCool.ErrorMessage = "Some error message " + " Do something here";
3 голосов
/ 23 августа 2011

Вы не можете использовать <%= %>, но вы можете использовать выражение для привязки данных <%# %>, например:

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

Содержимое <%# %> будет вызываться при вызове метода DataBind элемента управления (обычно вы вызываете его на Page, и он распространяется до дочерних элементов управления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...