首页 新闻 会员 周边 捐助

Gridview中出现的一个小问题,求高手指教!

0
悬赏园豆:80 [已解决问题] 解决于 2011-03-09 14:53

在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的话, 另一个页面又拿不到值。 我是新手,求高手指教下

我还只是一个菜鸟~!的主页 我还只是一个菜鸟~! | 初学一级 | 园豆:2
提问于:2011-03-08 20:05
< >
分享
最佳答案
0

你试试这样:<a  href="editorRoom.aspx?id='"+<%# Eval("RoomId")%>+"'">,图片也可以放到a的style里去,

你的错误是因为Bind不是这样用的,改成Eval就行,Bind 方法通常与输入控件一起使用,类似这样使用:

<asp:LabelID="lblTest" runat="Server"
Text='<%# Bind("RoomId") %>' />
收获园豆:80
peter cheng | 菜鸟二级 |园豆:431 | 2011-03-09 09:57
其他回答(2)
0

在GridView的RowDataBound 事件中进行你要做的操作

比如

 e.Row.FindControl('Image').Attribute.add("onclick","location.herf='editorRoom.aspx'");

大概是这么个意思  手写的代码可能有错

写代码的小2B | 园豆:4377 (老鸟四级) | 2011-03-09 09:49
0

页面的代码的写法有问题。一般都是用Eval("字段")来绑定数据源。

<a  href=’editorRoom.aspx?id=<%# Eval("RoomId")%>‘></a>就可以了。

也可以:<a  href=’<%#string.format("editorRoom.aspx?id={0}",Eval("字段"))%>'></a>就

邢少 | 园豆:10926 (专家六级) | 2011-03-09 14:35
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册