1110 Я столкнулся с этой же проблемой. В моем случае я не знал высоту внешнего контейнера, но вот как я это исправил:
Сначала установите высоту для ваших элементов html
и body
, чтобы они составляли 100%. Это важно! Без этого элементы html
и body
будут просто наследовать рост своих детей.
html, body {
height: 100%;
}
Тогда у меня был внешний контейнерный класс с:
.container {
display: table;
width: 100%;
height: 100%; /* For at least Firefox */
min-height: 100%;
}
И, наконец, внутренний контейнер с классом:
.inner-container {
display: table-cell;
vertical-align: middle;
}
HTML так же прост, как:
Vertically Aligned
Это все, что вам нужно для вертикального выравнивания содержимого. Проверьте это в скрипке:
Eval
- односторонняя привязка, а Bind
- двухсторонняя привязка. Использование Eval
позволяет вам помещать контент на вашу страницу, но ASP.Net не сможет вернуть его в объект для вас.
Метод Eval
просто сокращение для DataBinder.Eval
. Кроме того, Container.DataItem ("Property")
фактически совпадает с методом Eval
, за исключением случаев, когда вы хотите вернуть значение "пути". Например, вы можете вызвать Eval
с разделенным точками «путем» к общедоступному свойству, значение которого вы хотите получить, но я не верю, что вы можете сделать это с помощью Container.DataItem («Свойство ")
.