Это упрощенная версия того, что я хочу сделать. По сути, у меня есть список данных с кучей вещей, и когда вы наводите курсор мыши на элементы списка данных, я хочу, чтобы jquery скрывал / показывал вещи. Проблема заключается в том, что после привязки данных мой jridery сетки / ретранслятора / списка данных перестает работать, если сетка / репитер / список данных находится на панели обновления.
После того, как вы нажмете кнопку в примере ниже, 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();
}