首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C# ASP.NET编程,该如何处理

2013-01-06 
C# ASP.NET编程我在网站用加入了一个DataList用来显示数据库中的内容在ItemTemplate中添加了一个Button,我

C# ASP.NET编程
我在网站用加入了一个DataList用来显示数据库中的内容

在ItemTemplate中添加了一个Button,我想要的功能是单击这个button时,使当前这个Item的隐藏的Div出现(用jQuery实现的)。但是我实现的效果是当点击这个button时,所有Item的隐藏Div都出现了。。。

求助:如何获取当前Item的索引并传给Javascript


<%@ Page Title="" Language="C#" MasterPageFile="~/VOW.master" AutoEventWireup="true" CodeFile="Comunicate.aspx.cs" Inherits="Comunicate" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
    <link href="Style/MyStyle.css" rel="stylesheet" type="text/css" />
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
    <script language="javascript" type="text/javascript">//这是实现是隐藏Div出现的js
        $(document).ready(function () {
            $(".moreButton").click(function () {
                 var x = $(".ResponseContent");
                 $(x).slideToggle("slow");
            });
        });
    </script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
    <div>
        <asp:DataList ID="DataList1" runat="server" DataSourceID="SqlDataSource1" 
            onselectedindexchanged="Page_Load" Width="546px">
            <ItemTemplate>
                <div id="PostTitle">
                    <asp:Label ID="PostTitleLabel" runat="server" Text='<%# Eval("PostTitle") %>' />
                </div>
                <div id="PostContent">
                    <asp:Label ID="PostImageLabel" runat="server" Text='<%# Eval("PostImage") %>' />
                    <asp:Label ID="PostContentLabel" runat="server" 
                        Text='<%# Eval("PostContent") %>' />
                    <br />
                    <div id="PostMore" style="float:right" runat="server">                        
                        <input id="MoreButton" class="moreButton" type="button" value=">>More" runat="server" />//这是要点击的按钮


                        <asp:Label ID="ResponseLabel" runat="server" Text="评论()" Font-Size="Small"></asp:Label>
                    </div>
                    <div id="ResponseContent" class="ResponseContent" runat="server">//这是隐藏DIV
                        <div id="ResponseItem" runat="server">
                            <p>lalalallaalallalalala</p>
                        </div>
                        <div>
                            <input id="Text1" type="text" />
                            <input id="Button2" type="button" value="button" />
                        </div>
                        
                    </div>
                    <br />

                </div>
                <br />
            </ItemTemplate>
        </asp:DataList>
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
            ConnectionString="<%$ ConnectionStrings:ConnectionString %>" 
            SelectCommand="SELECT [PostTitle], [PostContent], [PostImage] FROM [PostTable]">
        </asp:SqlDataSource>
    </div>
</asp:Content>


[解决办法]
$(".MoreButton").click(function () {
     $(this).parent().next().slideToggle();
});
根据元素层级,取父元素的兄弟元素即可,不需要获取DataList的Index

热点排行