私はグリッドビューで初めてページすることができますが、2番目のページをクリックしようとすると何も起こりません。私はそれがOnTextChangedイベントがチャームのように動作する私のgridview内で発生した後、次のテキストボックスにタブするために使用されるJQueryスクリプトと関係していることを特定することができました。まず、ここに関連するコードされていますJQueryスクリプトGridview Pagingが2回以上発砲するのを防ぐ
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindDetails();
}
}
private void BindDetails()
{
string strSQL = "SELECT * FROM TABLE";
SqlDetailList.SelectCommand = strSQL;
gvDetailList.DataSource = SqlDetailList;
gvDetailList.DataBind();
}
protected void gvDetailList_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
gvDetailList.PageIndex = e.NewPageIndex;
BindDetails();
}
私はスクリプトを削除する場合は、ページングが正常に動作します:
<asp:ScriptManager ID="ScriptManagerDetails" runat="server" ScriptMode="Release"></asp:ScriptManager>
<script type="text/javascript">
var g_CurrentTextBox;
Sys.Application.add_load(applicationLoadHandler);
function applicationLoadHandler() {
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endRequestHandler);
}
function endRequestHandler() {
$get(g_CurrentTextBox).focus();
$get(g_CurrentTextBox).select();
}
function onTextFocus() {
g_CurrentTextBox = event.srcElement.id;
}
</script>
<asp:UpdatePanel ID="UpdatePanelDetails" runat="server">
<ContentTemplate>
<div class="row" id="ItemResults">
<asp:GridView ID="gvDetailList" runat="server" CssClass="table table-striped table-bordered table-hover"
AutoGenerateColumns="false" AllowPaging="true" OnPageIndexChanging="gvDetailList_PageIndexChanging" OnRowDataBound="gvDetailList_RowDataBound" Pagesize="25" >
<Columns>
<asp:BoundField DataField="ItemNumber" HeaderText ="Item Number" SortExpression="ItemNumber" />
<asp:TemplateField HeaderText="Qty" SortExpression="QUANTITY">
<ItemTemplate>
<asp:Label ID="lblGVQuantity" runat="server" Text='<%#Eval("QUANTITY") %>'></asp:Label>
<asp:Panel ID="pnlQuantity" runat="server">
<asp:TextBox ID="txtQuantity" runat="server" class="form-control input-sm"
AutoPostBack="true" Text='<%#Eval("QUANTITY") %>' OnTextChanged="txtQuantity_TextChanged"></asp:TextBox>
<asp:CompareValidator ID="cvQuantity" runat="server" ControlToValidate="txtQuantity" Type="Integer" ForeColor="Red"
Operator="DataTypeCheck" ErrorMessage="Quantity is not numeric" Text="* Quantity is not numeric" Display="Dynamic" ValidationGroup="valAdd" />
</asp:Panel>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<PagerStyle CssClass="pagination-ys" />
</asp:GridView>
<asp:SqlDataSource ID="SqlDetailList" runat="server"
ConnectionString="<%$ ConnectionStrings:MyConnectionStr%>"
>
</asp:SqlDataSource>
</div>
</ContentTemplate>
</asp:UpdatePanel>
ここでは、背後にあるコードです。しかし、私は言いましたが、スクリプトは残っていますが、これは最初の動作のみですが、それ以降のページでは動作しません。
は、コンソール内のJavaScriptの例外はありますか? –
私はそう信じない。私はどんな誤りも見ていない。 – shiftingviews
私はみんなを困らせましたか?ハハ。しかし、すべての真剣さの中で、どんな助けも感謝するでしょう。 – shiftingviews