2010-05-13 24 views
2

div标签,我有这样的代码:集成可变数据在asp.net

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

我需要更换800像素,并从数据库值300像素; 我尝试了下面的两个。但我仍然没有得到答案。

方法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; 

这是不影响产生网页。 任何人都可以帮助我解决这个问题。

+0

你是怎么声明witdh和身高的? – mamoo 2010-05-13 14:11:26

+0

现在,宽度和高度都是私密的,无法访问。 – Gabe 2010-05-13 14:52:45

回答

0

HI全部,

感谢所有的支持我得到了我自己的查询答案!

这是写在设计文件,其中我想要的显示和宽度和高度都在代码上的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); %> 

我不知道,如果这是写它的一种标准方式。但它给了我想要的答案。

1

而不是像这样使用内联样式,应该在样式表中使用类,并在div或CssClass上设置class属性,如果它是带有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

从原来的问题来看,目前还不清楚是否需要使用2或3种尺寸,或者他是否需要完全自由来设置任意大小。预定义的类在后一种情况下是麻烦的。 – Toby 2010-05-13 14:36:57

+0

公平评论。如果有多种组合,请继续使用内联方法,但如果情况属实,我会重新考虑总体策略。将可能大小的数量保持得较小将使得重构网站变得更加容易。你需要多少次重做一个需要新布局的网站? – 2010-05-13 15:03:22

+0

我不知道如何使用<%= className%>,如果需要拉宽度,高度和其他属性,它将如何支持。 css是否支持在这种情况下嵌入asp.net。请不要介意。我对asp.net比较陌生。 – 2010-05-14 05:38:39

0

确保变量宽度高度中页面背后的代码用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> 

一些详细的建议:

  • 名称的变量有点更具体,住divHeightdivWeight至少。像CentralPanelHeight会更好。
  • 更好的是给潜水类属性,摆脱你的变量,并动态地设置身高和体重了你的页面的顶部,就像这样:

    <style type="text/css"> 
        div.centralPanel { 
         width: 300px; 
         height: 800px; } 
    </style> 
    
0

尝试:

width:'<%= width %>'px; 
+0

这是行不通的我之前尝试过这个问题 – 2010-05-14 05:55:51

0

首先,你应该让你的<DIV>通过添加RUNAT =“服务器”属性的服务器控件。

<div id="div1" runat="server"></div> 

然后在后面的代码中可以做这样的事情...

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

的<%#的eval()%>数据绑定表达式将仅一个数据绑定控制的上下文中工作。

+0

后面的代码识别上面的代码,但没有给出我想要的高度或宽度。我不知道为什么? – 2010-05-14 05:36:29