I had this Error
Microsoft JScript runtime error: Sys.WebForms.PageRequestManagerServerErrorException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
when i tried to add new record.
Update work fine with RadInputManager to validate the textbox/NumuricTextbox.
I think it might be my js conditionalPostback and validateRadUpload for disable ajax to update Image from RadUpload
Here my aspx file
<%@ Page Title="" Language="C#" MasterPageFile="~/Admin.Master" AutoEventWireup="true" CodeBehind="ManageRecipes.aspx.cs" Inherits="GroceryStore.AdminPanel.ManageRecipes" %><asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server"></asp:Content><asp:Content ID="Content2" ContentPlaceHolderID="body" runat="server"> <telerik:RadScriptManager ID="RadScriptManager1" runat="server"> </telerik:RadScriptManager><telerik:RadCodeBlock ID="RadCodeBlock1" runat="server"> <script type="text/javascript"> function rowDblClick(sender, eventArgs) { sender.get_masterTableView().editItem(eventArgs.get_itemIndexHierarchical()); } function conditionalPostback(sender, eventArgs) { var theRegexp = new RegExp("\.UpdateButton$|\.PerformInsertButton$", "ig"); if (eventArgs.get_eventTarget().match(theRegexp)) { var upload = $find(window['UploadId']); //AJAX is disabled only if file is selected for upload try{ if (upload.getFileInputs()[0].value != "") { eventArgs.set_enableAjax(false); } }catch(Error){ } } } function validateRadUpload(source, e) { e.IsValid = false; var upload = $find(source.parentNode.getElementsByTagName('div')[0].id); var inputs = upload.getFileInputs(); for (var i = 0; i < inputs.length; i++) { //check for empty string or invalid extension if (inputs[i].value != "" && upload.isExtensionValid(inputs[i].value)) { e.IsValid = true; break; } } } </script> </telerik:RadCodeBlock> <telerik:RadAjaxManager runat="server" ID="RadAjaxManager1" DefaultLoadingPanelID="RadAjaxLoadingPanel1"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="RadGrid1"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="RadGrid1" /> <telerik:AjaxUpdatedControl ControlID="RadWindowManager1" /> <telerik:AjaxUpdatedControl ControlID="RadInputManager1" /> <telerik:AjaxUpdatedControl ControlID="RadInputManager2" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings> </telerik:RadAjaxManager><telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" Skin="Default"></telerik:RadAjaxLoadingPanel><telerik:RadAjaxPanel ID="RadAjaxPanel1" runat="server" ClientEvents-OnRequestStart="conditionalPostback"><telerik:RadGrid ID="RadGrid1" runat="server" CellSpacing="0" GridLines="None" OnNeedDataSource="RadGrid1_NeedDataSource"OnItemDataBound="RadGrid1_ItemDataBound" OnItemCreated="RadGrid1_ItemCreated"OnDeleteCommand="RadGrid1_DeleteCommand" OnUpdateCommand="RadGrid1_UpdateCommand"OnDetailTableDataBind="RadGrid1_DetailTableDataBind" OnInsertCommand="RadGrid1_InsertCommand" AllowSorting="True"><MasterTableView AutoGenerateColumns="False" DataKeyNames="RecipeId" CommandItemDisplay="Top" InsertItemPageIndexAction="ShowItemOnCurrentPage" AllowPaging="True"> <DetailTables> <telerik:GridTableView runat="server" AutoGenerateColumns="False" DataKeyNames="RecipeIngredientId" CommandItemDisplay="Top" Name="Ingredient"> <CommandItemSettings ExportToPdfText="Export to PDF" /> <RowIndicatorColumn FilterControlAltText="Filter RowIndicator column"> <HeaderStyle Width="20px" /> </RowIndicatorColumn> <ExpandCollapseColumn FilterControlAltText="Filter ExpandColumn column"> <HeaderStyle Width="20px" /> </ExpandCollapseColumn> <Columns> <telerik:GridEditCommandColumn ButtonType="ImageButton" /> <telerik:GridBoundColumn DataField="RecipeIngredientId" FilterControlAltText="Filter RecipeIngredientId column" HeaderText="RecipeIngredientId" UniqueName="RecipeIngredientId" ReadOnly="True"> </telerik:GridBoundColumn> <telerik:GridDropDownColumn DataField="Name" FilterControlAltText="Filter IngredientName column" HeaderText="Ingredient" UniqueName="IngredientName" DataSourceID="LinqDataSource1" ListTextField="Name" ListValueField="Name"> </telerik:GridDropDownColumn> <telerik:GridBoundColumn DataField="Amount" FilterControlAltText="Filter column1 column" HeaderText="Amount" UniqueName="Amount"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Unit" FilterControlAltText="Filter column2 column" HeaderText="Unit" UniqueName="Unit"> </telerik:GridBoundColumn> <telerik:GridButtonColumn ConfirmText="Delete this Ingredient?" ConfirmDialogType="RadWindow" ConfirmTitle="Delete" ButtonType="ImageButton" CommandName="Delete" /> </Columns> <EditFormSettings> <EditColumn ButtonType="ImageButton"> </EditColumn> </EditFormSettings> </telerik:GridTableView> </DetailTables><CommandItemSettings ExportToPdfText="Export to PDF"></CommandItemSettings><RowIndicatorColumn FilterControlAltText="Filter RowIndicator column"><HeaderStyle Width="20px"></HeaderStyle></RowIndicatorColumn><ExpandCollapseColumn FilterControlAltText="Filter ExpandColumn column" Visible="True"><HeaderStyle Width="20px"></HeaderStyle></ExpandCollapseColumn> <Columns> <telerik:GridEditCommandColumn ButtonType="ImageButton" /> <telerik:GridBinaryImageColumn DataField="MainImage" FilterControlAltText="Filter Image column" HeaderText="Image" ImageHeight="50px" ImageWidth="50px" ResizeMode="Crop" UniqueName="Image" DefaultImageUrl="~\resources\images\noImageAvailable.jpg"> </telerik:GridBinaryImageColumn> <telerik:GridBoundColumn DataField="RecipeId" DataType="System.Int32" FilterControlAltText="Filter RecipeId column" HeaderText="RecipeId" ReadOnly="True" SortExpression="RecipeId" UniqueName="RecipeId"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Name" FilterControlAltText="Filter Name column" HeaderText="Name" SortExpression="Name" UniqueName="Name"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Description" FilterControlAltText="Filter Description column" HeaderText="Description" SortExpression="Description" UniqueName="Description"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Serving" DataType="System.Int32" FilterControlAltText="Filter Serving column" HeaderText="Serving" SortExpression="Serving" UniqueName="Serving"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Instruction" FilterControlAltText="Filter Instruction column" HeaderText="Instruction" SortExpression="Instruction" UniqueName="Instruction"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Cuisine" FilterControlAltText="Filter Cuisine column" HeaderText="Cuisine" SortExpression="Cuisine" UniqueName="Cuisine"> </telerik:GridBoundColumn> <telerik:GridButtonColumn ConfirmText="Delete this recipes?" ConfirmDialogType="RadWindow" ConfirmTitle="Delete" ButtonType="ImageButton" CommandName="Delete" /> </Columns><EditFormSettings> <EditColumn ButtonType="ImageButton" /></EditFormSettings></MasterTableView><FilterMenu EnableImageSprites="False"></FilterMenu><HeaderContextMenu CssClass="GridContextMenu GridContextMenu_Default"></HeaderContextMenu></telerik:RadGrid> </telerik:RadAjaxPanel><telerik:RadInputManager runat="server" ID="RadInputManager1" Enabled="true"> <telerik:TextBoxSetting BehaviorID="TextBoxSetting1"> </telerik:TextBoxSetting> <telerik:TextBoxSetting BehaviorID="TextBoxSetting2"> </telerik:TextBoxSetting> <telerik:NumericTextBoxSetting BehaviorID="NumericTextBoxSetting1" Type="Number" AllowRounding="true" DecimalDigits="0"> </telerik:NumericTextBoxSetting> <telerik:TextBoxSetting BehaviorID="TextBoxSetting3"> </telerik:TextBoxSetting> <telerik:TextBoxSetting BehaviorID="TextBoxSetting4"> </telerik:TextBoxSetting></telerik:RadInputManager><telerik:RadWindowManager ID="RadWindowManager1" runat="server" /> <telerik:RadInputManager runat="server" ID="RadInputManager2" Enabled="true"> <telerik:NumericTextBoxSetting BehaviorID="NumericTextBoxSetting11" Type="Number" AllowRounding="true" DecimalDigits="0"> </telerik:NumericTextBoxSetting> <telerik:TextBoxSetting BehaviorID="TextBoxSetting11"> </telerik:TextBoxSetting> </telerik:RadInputManager> <telerik:RadWindowManager ID="RadWindowManager2" runat="server" /> <asp:LinqDataSource ID="LinqDataSource1" runat="server" ContextTypeName="GroceryStore.GroceryStoreDataContext" EntityTypeName="" TableName="Ingredientdatas" Select="new (Name)"> </asp:LinqDataSource></asp:Content>