Asp.net Переменная не работает на странице

#asp.net

#asp.net

Вопрос:

У меня есть следующий код:

 <tr id="test" runat="server">
    <td align="<%=myalignment%>">
  

Я установил myalignment = «center», однако, когда страница визуализируется, она не захватывает переменную. Это просто точно показывает, как обстоит дело выше. Я хотел программно изменить некоторые TDS на «center» или «left», и я думал, что это сработает. Есть идеи?

Если у tr нет runat=»server», то он работает нормально…

Комментарии:

1. вы пробовали поместить вокруг нее div?

2. Я только что заметил, что она работает нормально, если TR, в который она заключена, не использует runat =»server», однако мой TD находится в TR, который является runat =»server»…

3. Некоторые теги / атрибуты не поддерживают встроенный код. Это может быть одной из них.

Ответ №1:

Элементы управления, которые выполняются на стороне сервера, не могут иметь свойств, заданных декларативно и разрешаемых динамически через <%= %> (Ответ.Синтаксис записи.

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

В качестве альтернативы вы должны иметь возможность перебирать ячейки или ссылаться на конкретные ячейки в файле кода. Возможно, вам также придется добавить атрибут runat=server к каждой ячейке — не уверен в этом.