Интегрируйте переменные данные с тегом div в asp.net - PullRequest
2 голосов
/ 13 мая 2010

У меня есть этот код:

<div id="container" style="width: 800px; height:300px; margin: 0 auto;overflow:hidden;"></div>

Мне нужно заменить 800px и 300px из значения базы данных; Я попробовал оба ниже. Но все равно я не получаю ответ.

Метод 1:

<div id="container" style="width:'<% Response.Write(width);%>'px; height:'<% Response.Write(height);%>'px; margin: 0 auto;overflow:hidden;"></div>

Метод 2:

<div id="container" style="width:'<%# Eval("width");%>'px; height: <%# Eval("height");%>'px; margin: 0 auto;overflow:hidden;"></div>

Значения переменных высоты и ширины определены в функции page_load ()

int height = 300;
int width = 800;

Это не влияет на конечную веб-страницу. Может ли кто-нибудь помочь мне в этом.

Ответы [ 6 ]

1 голос
/ 13 мая 2010

Вместо использования встроенных стилей, подобных этому, вы должны использовать классы в своей таблице стилей и установить атрибут class в div или CssClass, если это серверный элемент управления с runat = "server" на нем.

В таблице стилей есть одно имя класса для каждой ширины, которую вы хотите отобразить

<div id="container" class="auto <%= className %>"></div>

div.auto {
  margin: 0 auto;
  overflow:hidden;
 }


div.wide {
  width: 800px;
  height:300px; 
 }

div.narrow {
  width: 600px;
  height:300px; 
 }

и т.д ...

0 голосов
/ 14 мая 2010

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

http://css -tricks.com / разрешение конкретных-таблиц стилей /

0 голосов
/ 14 мая 2010

Привет всем,

Спасибо за поддержку, я получил ответ на свой запрос!

Это было написано в файле конструктора, где я хотел, чтобы отображение, ширина и высота были определены в коде файла над функцией page_load ()


 <% string display= "<div id=\"container\"style=\"width:{0}px; height:{1}px; margin:0 auto;overflow:hidden;\"></div";
    display= string.Format(display, width, height);   
    Response.Write(display); %>

Я не уверен, что это стандартный способ написания. Но это дает мне желаемый ответ.

0 голосов
/ 13 мая 2010

Сначала вы должны сделать свой

серверным элементом управления, добавив атрибут runat = "server" .
<div id="div1" runat="server"></div>

Тогда в коде позади вы можете сделать что-то вроде этого ...

div1.Style.Add("width", width);
div1.Style.Add("height", height);

Выражения привязки данных <% # Eval ()%> будут работать только в контексте элемента управления привязкой данных.

0 голосов
/ 13 мая 2010

Попробуйте:

width:'<%= width %>'px;
0 голосов
/ 13 мая 2010

Убедитесь, что переменные width и height в вашем коде за страницей объявлены с ключевым словом Protected.

protected int height=300;
protected int width= 800;

Тогда на вашей странице используйте это:

<div id="container" style="width:'<%= width %>'px; height:'<%= height %>'px; 
    margin: 0 auto;overflow:hidden;"></div>

Несколько дополнительных советов:

  • назовите переменную немного точнее, хотя бы live divHeight и divWeight . Что-то вроде CentralPanelHeight было бы лучше.
  • лучше придать атрибуту погружения класс, избавиться от переменных и динамически установить рост и вес вверху страницы, например:

    <style type="text/css">
        div.centralPanel { 
            width: 300px;
            height: 800px; }
    </style>
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...