【发布时间】:2011-03-13 01:32:51
【问题描述】:
这是我想做的简化版本。基本上我有一个数据列表,里面有一堆东西,当你将鼠标悬停在数据列表中的项目上时,我希望 jquery 隐藏/显示东西。问题是,在我对 gridview/repeater/datalist 进行数据绑定后,如果 gridview/repeater/datalist 在更新面板中,jquery 将退出工作。
单击下面示例中的按钮后,当您将鼠标悬停在停止工作时,生成 span 的 jquery 会显示出来。
关于为什么会发生这种情况,如何解决它或更好的方法的任何想法?
<script type="text/javascript">
$(document).ready(function() {
$('.comment-div').mouseenter(function() {
jQuery("span[class=mouse-hide]", this).fadeIn(50);
});
$('.comment-div').mouseleave(function() {
jQuery("span[class=mouse-hide]", this).fadeOut(50);
});
});
</script>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<div class="comment-div">
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
<span class="mouse-hide" style="display: none;">sdfgsdfgsdfgsdfg</span>
</div>
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
</ContentTemplate>
</asp:UpdatePanel>
还有代码隐藏:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
BindStuff();
}
}
public void BindStuff()
{
TestDB db = new TestDB();
var x = from p in db.TestFiles
select new { p.filename};
x = x.Take(20);
GridView1.DataSource = x;
GridView1.DataBind();
}
protected void Button1_Click(object sender, EventArgs e)
{
BindStuff();
}
【问题讨论】:
标签: c# asp.net jquery ajax updatepanel