我在ASPX页面的Repeater控件中输出几行Javascript。我想在脚本标记中使用我的DataSource中的值。
一个非常基本的例子可能是:
<asp:Repeater ID="RepeaterBlah" runat="server">
<ItemTemplate>
Hello <%# DataBinder.Eval(Container.DataItem, "SomeName")%>
<script>myfunction(<%# DataBinder.Eval(Container.DataItem, "SomeNumber")%>)</script>
</ItemTemplate>
</asp:Repeater>
我知道大多数人都不会重复这样的脚本标记,但我使用的是第三方代码的一小段代码,您可以将其放在页面的任何位置来创建Flash对象。您传递一个数字,以便它知道要显示的图像库。在一个页面上使用多个没有问题。
首先,这很好用,虽然我注意到Visual Web Developer中的颜色表明它并不真正喜欢在<%#
标记内使用的<script>
。 Intellisense在代码隐藏方面也有点疯狂!
那么将数据集项目传递到脚本标记的正确方法是什么?
答案 0 :(得分:2)
<%# "<script>myfunction(" + DataBinder.Eval(Container.DataItem, "SomeNumber") + ")</script>" %>
答案 1 :(得分:1)
另一种替代语法如下:
<%# Eval("SomeNumber", "<script>myfunction({0});</script>") %>
这使用可选参数,您可以在其中提供格式字符串。