如何将c#变量合并到javascript函数的参数中

时间:2010-02-03 15:29:25

标签: c# javascript

我试图将一个保存在字符串变量(名为“ruta”)中的路径放入swfobject.embedSWF功能的参数中,但我不知道如何将c#代码合并到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>

问题是代码甚至无法识别“&lt; %%&gt;”标记以在其上加入c#!

4 个答案:

答案 0 :(得分:4)

这会将值输出到您指定的位置。

答案 1 :(得分:3)

你想要这样的东西:

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

很抱歉,自从我使用基于网络的C#内容已经有一段时间了

答案 2 :(得分: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 :(得分:0)

需要在<script/>块内区别对待。通过包装&lt;%=%&gt;来修复它单引号或双引号的块,我倾向于使用单引号,因为有时你需要在c#块中使用双引号,否则不会对它进行解析。

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

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