在GridView中, 我编辑了一个模版列放图片, 再给那图片加上超链接。传一个参数。
代码是这样:
<asp:TemplateField>
<ItemTemplate>
<a href='<%# Bind("RoomId","editorRoom.aspx?{0}") %>'>
<asp:Image ImageUrl="~/images/edit.gif" runat="server" /></a>
</ItemTemplate>
</asp:TemplateField>
然后就报错了, 说必须将对Bind的调用分配给模版中的空间的属性!
这个错该怎么改啊? 如果用Eval的话, 另一个页面又拿不到值。 我是新手,求高手指教下
你试试这样:<a href="editorRoom.aspx?id='"+<%# Eval("RoomId")%>+"'">,图片也可以放到a的style里去,
你的错误是因为Bind不是这样用的,改成Eval就行,Bind 方法通常与输入控件一起使用,类似这样使用:
<asp:LabelID="lblTest" runat="Server"
Text='<%# Bind("RoomId") %>' />
在GridView的RowDataBound 事件中进行你要做的操作
比如
e.Row.FindControl('Image').Attribute.add("onclick","location.herf='editorRoom.aspx'");
大概是这么个意思 手写的代码可能有错
页面的代码的写法有问题。一般都是用Eval("字段")来绑定数据源。
<a href=’editorRoom.aspx?id=<%# Eval("RoomId")%>‘></a>就可以了。
也可以:<a href=’<%#string.format("editorRoom.aspx?id={0}",Eval("字段"))%>'></a>就