2010-05-13 19 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