这看起来很简单,但我只是得到这个错-6ren">
gpt4 book ai didi

c# - 在 ItemTemplate 中使用 Container.DataItem

转载 作者:太空狗 更新时间:2023-10-29 22:18:14 25 4
gpt4 key购买 nike

我无法让它正常工作,我也不知道为什么。

<ItemTemplate>
<% if (Field(((DataRowView)(Container.DataItem)), "Video File") != "") { %>
<a href='upload/images/<%# Field(((DataRowView)(Container.DataItem)), "Video File")%>'>Download Link</a>
<% } else { %>
<embed height="14" width="661" name="plugin" src="<%# ContentUploadURL%>/<%# Field(((DataRowView)(Container.DataItem)), "Audio File")%>" type="audio/mpeg" autostart="false" />
<% } %>
</ItemTemplate>

这看起来很简单,但我只是得到这个错误:

Compiler Error Message: CS0103: The name 'Container' does not exist in the current context

我整天都在做这个,我是一个在 asp 中开发 CMS 的新手。我真的不想学习 ASP,只是为了让这件事起作用。

如果有人能指出我正确的方向,我将非常感激。

谢谢!

最佳答案

您不能在数据绑定(bind)表达式 <%# ... %> 之外使用 Container.DataItem。

我建议您将代码更改为如下内容(抱歉,我目前无法测试):

<ItemTemplate>
<asp:HyperLink runat="server"
Visible='<%# Eval("Video File") != "" %>'
NavigateUrl='<%# Eval("Video File")' Text="Download Link" />

<embed runat="server" Visible='<%# Eval("Video File") == "" %>'
height="14" width="661" name="plugin"
src="<%# ContentUploadURL%>/<%# Field(((DataRowView)(Container.DataItem)), "Audio File")%>"
type="audio/mpeg" autostart="false" />
</ItemTemplate>

关键是根据数据项的“Video File”字段设置两个控件的Visible属性。

另见这个问题:ASP.Net conditional databinding

关于c# - 在 ItemTemplate 中使用 Container.DataItem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/758418/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com