我试图将一个保存在字符串变量(名为“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#!
答案 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>