2010-02-03 68 views
1

我試圖把保存在字符串變量(名爲「ruta」)中的路徑放入swfobject.embedSWF函數的參數中,但我不知道如何合併ac#代碼轉換爲JavaScript代碼。有人能幫助我嗎??謝謝!!!!!如何將ac#變量合併到javascript函數的參數中

<%TarjetaPL tarjetaPl = null; 
string ruta = null; 
if (Session[Constantes.TarjetaSeleccionada] != null) 
{ 
tarjetaPl = new TarjetaPL((Tarjeta)Session[Constantes.TarjetaSeleccionada]); 
ruta = "../../content/images/" + tarjetaPl.TipoDeTarjeta.Banner; 
}%> 
<script type="text/javascript"> 
     swfobject.embedSWF((HERE COMES THE PATH KEPT IN THE VARIABLE "ruta"), "flashBanner", "300", "120", "9.0.0"); 
</script> 

的問題是,代碼甚至不承認「<%%>」標籤納入C#就可以了!

回答

2

在您的代碼隱藏文件(假設你有一個),將下面的代碼:

protected string Ruta 
{ 
    get 
    { 
     TarjetaPL tarjetaPl = null; 
     string ruta = null; 
     if (Session[Constantes.TarjetaSeleccionada] != null) 
     { 
      tarjetaPl = new TarjetaPL((Tarjeta)Session[Constantes.TarjetaSeleccionada]); 
      ruta = "../../content/images/" + tarjetaPl.TipoDeTarjeta.Banner; 
     } 
     return ruta; 
    } 
} 

而且在.aspx頁面,將此代碼:

<script type="text/javascript"> 
    swfobject.embedSWF(<%=Ruta %>, "flashBanner", "300", "120", "9.0.0"); 
</script> 
3

你想要的東西,如:

<script type="text/javascript"> 
     swfobject.embedSWF(<%=ruta%>, "flashBanner", "300", "120", "9.0.0"); 
</script> 

對不起,因爲我做了基於web的C#東西

+1

爲什麼response.write? –

+0

問題是,代碼甚至沒有識別「<% %>」標籤,以將c#納入其中! – Nicole

+0

@Mitchel - 不記得正確的語法是什麼,一直在做PHP太長:) – Paolo

4

這將輸出值到您指定的位置,它已經有一段時間。

0

它需要在<script/>區塊內區別對待。通過用單引號或雙引號包裝您的<%=%>塊來修復它,我傾向於使用單引號,因爲有時您需要在c#塊中使用雙引號,否則將不會進行解析。

<% 
    int number = 1; 
    string str = "hi hi"; 
%> 

<script type="text/javascript"> 
    alert('<%=number%>'); 
    alert('<%=str%>'); 
</script> 
相關問題