我有一个简单的中继器,看起来像:
<asp:Repeater runat="server" ID="rptOptions" OnItemDataBound="rptOptions_ItemDataBound">
<HeaderTemplate>
<thead>
<tr>
<td class="GridHeader">Account</td>
<td class="GridHeader">Margin</td>
<td class="GridHeader">Symbol</td>
<td class="GridHeader">Usymbol</td>
</tr>
</thead>
</HeaderTemplate>
<ItemTemplate>
<tbody>
<tr runat="server" ID="trOption">
<td class="GridRow"><asp:Label runat="server" ID="lblOptionAccount"></asp:Label></td>
<td class="GridRow"><asp:Label runat="server" ID="lblOptionMargin"></asp:Label></td>
<td class="GridRow"><asp:Label runat="server" ID="lblOptionSymbol"></asp:Label></td>
<td class="GridRow"><asp:Label runat="server" ID="lblOptionUsymbol"></asp:Label></td>
</tr>
</tbody>
</ItemTemplate>
</asp:Repeater>
现在,在我的代码隐藏中,我有一个事件被触发,它应该在数据库中添加/插入一行。发生这种情况后,我从数据库中重新获取新的选项列表并将它们重新绑定到中继器。这发生在更新面板内,因此列表会立即为用户刷新。
protected void lbtnAddOptionSave_Click(object sender, EventArgs e)
{
SelectedOption = new Option()
{
Account = txtAddOptionAccountNumber.Text,
Margin = chkAddOptionMargin.Checked,
Symbol = txtAddOptionSymbol.Text,
Usymbol = txtAddOptionUsymbol.Text,
};
Presenter.OnAddOption(); // Insert new option into database
RefreshOptions(); // Re-get list of options, bind them to repeater
}
现在,我 ~love~ 要做的是使用 jQuery ScrollTo 插件直接滚动到新添加的行。
在 jQuery 插件中调用 ScrollTo() 方法的最佳方法是什么,以便我滚动到刚刚添加的特定行?无论如何我可以在我的 ItemTemplate 中标记我的行,以便我可以通过 jQuery 轻松选择要滚动到的元素?
理想情况下,在 RefreshOptions() 之后,我想执行 ScrollTo 函数以向下滚动到新行。