对 Bind 的调用必须分配给模板内控件的属性

Posted

技术标签:

【中文标题】对 Bind 的调用必须分配给模板内控件的属性【英文标题】:A call to Bind must be assigned to a property of a control inside a template 【发布时间】:2010-10-21 05:01:53 【问题描述】:

我想在 gridview 中显示缩略图而不是文本。这就是我正在尝试的:

        <asp:TemplateField HeaderText="Image" SortExpression="Image">
            <EditItemTemplate>
                <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Image") %>'></asp:TextBox>
            </EditItemTemplate>
            <ItemTemplate>
                <asp:Image ID="thumbnail" runat="server" ImageUrl="<%# Bind("Image") %>" />                        
            </ItemTemplate>
        </asp:TemplateField>

我应该使用什么语法?

【问题讨论】:

【参考方案1】:

尝试对 ImageUrl 使用 Eval 而不是 Bind - 这是一种绑定方式。

如果您仍然遇到问题,在属性周围使用单引号而不是双引号可能会有所帮助:&lt;asp:Image ID="thumbnail" runat="server" ImageUrl='&lt;%# Eval("Image") %&gt;' /&gt;

【讨论】:

如你所说,必须使用单引号。非常感谢

以上是关于对 Bind 的调用必须分配给模板内控件的属性的主要内容,如果未能解决你的问题,请参考以下文章

使用编译的绑定(x:bind),为什么我必须调用Bindings.Update()?

Vue组件的高级用法

直接调用分配给对象属性的闭包

为啥从函数调用分配给属性 innerHTML 不起作用?

WPF ControlTemplate

我应该在重新分配之前调用分配给保留属性的自动释放对象的释放吗?