我是.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'。
帮助!
答案 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>