Привязка свойства элемента управления к выражению - PullRequest
0 голосов
/ 18 марта 2020

С помощью ASP. NET WebForms можно ли привязать свойство элемента управления к выражению?

Например,

Visible="<% myProp.Value == otherProp.Value %>"

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

1 Ответ

1 голос
/ 04 мая 2020

Да, и это самый эффективный способ разработки ASP. Net WebForms.

Вы хотите вызвать DataBind(), чтобы вычислить выражение <%# myProp.Value == otherProp.Value %>. Я предпочитаю звонить DataBind() в Page_PreRender

Пример:

protected void Page_PreRender(object sender, EventArgs e)
{
    DataBind();
}
<asp:PlaceHolder runat="server" Visible='<%# myProp.Value == otherProp.Value %>'>
  Hello
</asp:PlaceHolder>

На самом деле вы можете поместить свои логики привязки данных c в базовый класс своей страницы. или в блоке <script runat="server">.

Полный пример страницы:

<%@ Page Language="C#" %>
<script runat="server">
   void Page_PreRender(object sender, EventArgs e)
   {
       DataBind();
   }
</script>
<html>
 <body>
  <asp:Placeholder runat="server" Visible='<%# DateTime.Now.Seconds % 2 == 1 %>'>
   It is now an odd second
  </asp:Placeholder>
 </body>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...