日期:2014-05-16  浏览次数:20393 次

怎么实现点击datalist中点击按钮跳出一个修改界面
我做了一个datalist,用来显示相册的信息,包括相册中的第一张照片,相册名册。这个第一张照片是通过一个ashx文件老获取绑定的,我想实现的是点击某一个相册下方的名为修改的按钮时弹出一个界面,这个界面有该相册的名称和相册的描述(描述在相册创建的时候添加过了),类似于很多网站点击登录时出现在网页前的一个登录框。不过我这个是用来修改数据的。
我给datalist的ItemTemplate模板中的修改按钮添加了一个JS事件,就是点击该按钮的时候会有一个修改框出现在网页前面,但是我不知道该怎么把这一项的相册名称和相册描述给绑定到出现的这个框里的控件中去。我有想在绑定的JS事件中直接传入参数,然后通过JS把传来的值绑定到修改框的控件中去。大概的想法是这样的:

(e.Item.FindControl("edit") as LinkButton).Attributes.Add("onclick", "altershow(AlbumName,AlbumDesc)");

现在主要的问题是我不知道该怎么在Datalist的ItemDataBound(上面的代码就是写在这里的)中获取被点击项的这两个AlbumName,AlbumDesc数据。
Datalist的数据绑定是通过cs中的代码完成的,没有直接绑定Sqldatasource控件。
------解决方案--------------------
    <script type="text/javascript">
        function show(id) {
            var obj = document.getElementById(id);
            obj.style.display == "block" ? obj.style.display = "none" : obj.style.display = "block";
        }

    </script>
    
    <style type="text/css">
      .nolink
      {
       display:none;
      }
    </style>



<ItemTemplate>
<ul onmouseover="show('<%#Container.FindControl("delreply").ClientID.ToString()%>')"  onmouseout="show('<%#Container.FindControl("delreply").ClientID.ToString()%>')" >

                                    <asp:Label ID="hidden_reply" runat="server" Text='<%# Eval("RepCommentID") %>' Visible="False"></asp:Label>
                                    <li>
                                        <%# Eval("Reper") %>:</li><li>
                                            <%# Eval("RepContent")%></li><br />
                                    <li>
                                        <%# Eval("RepDate","{0:MM月dd日 HH:mm}")%><asp:LinkButton ID="delreply" runat="server" Text="删除" CommandName="DelReply"  CssClass="nolink" ></asp:LinkButton></li>
     &nb