将变量分配给Repeater值

时间:2009-12-31 23:49:05

标签: asp.net javascript database

我是.NET的新手,这让我非常疯狂。我想从我的数据库中提取一个值,然后将其分配给我可以传递给javascript的变量。打印价值很容易,但对我没有任何意义!

<asp:Repeater ID="Repeater3" runat="server" DataSourceID="SqlDataSource11">
<ItemTemplate>
     <asp:BoundField DataField="videofile" />

        <%#DataBinder.Eval(Container.DataItem, "videofile")%>

    <%=vidfile%>
</ItemTemplate>

videofile是数据库中的变量,vidfile是我想要分配给它的变量。我也尝试了这个<%# vidfile = DataBinder.Eval(Container.DataItem, "videofile")%>,这给了我输出'False'。

帮助!

1 个答案:

答案 0 :(得分:2)

请记住,如果您的变量“vidfile”是在javascript中声明的,那么服务器就不知道那是什么。

ASP标记内部执行的任何操作都严格在服务器的上下文中。如果您想将字符串分配给变量,您希望让服务器直接将某些内容打印到呈现的页面中。

另请注意,ASP标记<%= %>是“Response.Write()”的快捷方式,它会将字符串呈现到输出的页面中。 &lt;%#%&gt;语法用于将控件的属性绑定到数据源或使用数据绑定器方法。

这样的事可能适合你:

<asp:Repeater ID="Repeater3" runat="server" DataSourceID="SqlDataSource11">
<ItemTemplate>
    <asp:BoundField DataField="videofile" />

    <script language="text/javascript">
        vidfile = '<%# DataBinder.Eval(Container.DataItem, "videofile", "{0}") %>'
    </script>
</ItemTemplate>