I have a page that when auto or partial post back happens, focus is set to the address bar rather than the next control. The interesting thing is that when I put an alert in my RadScriptBlock, after the OK is clicked, focus goes to the correct control -or- if I put in an invalid location, focus is returned to the ExpLocation control & when a correct location is input the second time, the tab order/focus command works correctly (see code below).
That has this up top
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="RadAjaxPanel1">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="RadAjaxPanel1" LoadingPanelID="RadAjaxLoadingPanel1" />
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting EventName="OnTextChanged" AjaxControlID="RadNumericTextBox_GLm">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="RadNumericTextBox_GLm" LoadingPanelID="RadAjaxLoadingPanel1" />
<telerik:AjaxUpdatedControl ControlID="lblGlCodeErrorMessage" LoadingPanelID="RadAjaxLoadingPanel1" />
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting EventName="OnTextChanged" AjaxControlID="RadNumericTextBox_ExpLocation">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="lblGlCodeErrorMessage" LoadingPanelID="RadAjaxLoadingPanel1" />
<telerik:AjaxUpdatedControl ControlID="RadNumericTextBox_ExpLocation" LoadingPanelID="RadAjaxLoadingPanel1" />
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManager>
<telerik:RadNumericTextBox ID="RadNumericTextBox_ExpLocation" runat="server" Width="20px" AutoPostBack="true"
MaxLength="3" NumberFormat-AllowRounding="False" Type="Number" NumberFormat-KeepTrailingZerosOnFocus="True"
IncrementSettings-InterceptMouseWheel="false" OnTextChanged="LocationCheck_OnTextChanged" TabIndex="101">
<NumberFormat DecimalDigits="0" GroupSeparator="" AllowRounding="false" KeepNotRoundedValue="false" />
protected void LocationCheck_OnTextChanged(object sender, System.EventArgs e)
{
var cmdText = "SELECT LMLOC FROM DBMOTO..XALOCNP WHERE " +
" LMLOC = @ExpLocation ";
using (var conn = new SqlConnection(ConfigurationManager.ConnectionStrings["MAINConnectionString"].ToString()))
using (var cmd = new SqlCommand(cmdText, conn))
{
cmd.Parameters.Add(new SqlParameter("@ExpLocation", RadNumericTextBox_ExpLocation.Text));
conn.Open();
SqlDataReader dr = cmd.ExecuteReader();
if (dr.HasRows)
{
Session["ValidGL"] = false;
lblGlCodeErrorMessage.Visible = false;
lblGlCodeErrorMessage.Text = "Good Location";
btnAddItem.Enabled = false;
btnDone.Enabled = false;
RadNumericTextBox_GLm.Focus();
}
else
{
lblGlCodeErrorMessage.Visible = true;
lblGlCodeErrorMessage.Text = "Invalid/Inactive Location";
btnAddItem.Enabled = false;
btnDone.Enabled = false;
RadNumericTextBox_ExpLocation.Focus();
}
}
}
<
radG:RadGrid ID="rad" runat="server" Skin="Windows" Width="600px"
HorizontalAlign="NotSet" OnNeedDataSource="rad_NeedDataSource" OnInsertCommand="rad_InsertCommand" OnDeleteCommand="rad_DeleteCommand" OnUpdateCommand="rad_UpdateCommand">
<MasterTableView AutoGenerateColumns="False" DataKeyNames="Id" EditMode="InPlace" CommandItemDisplay="Bottom">
<Columns>
<radG:GridTemplateColumn HeaderText="Attachment" UniqueName="TemplateColumn">
<ItemTemplate>
<asp:Label runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.Name") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:FileUpload ID="fileUpload" runat="server" />
</EditItemTemplate>
</radG:GridTemplateColumn>
<radG:GridTemplateColumn UniqueName="TemplateColumn">
<ItemTemplate>
<asp:HyperLink ID="HyperLink1" runat="server" Target="_blank" NavigateUrl='<%# DataBinder.Eval(Container, "DataItem.Id", "Attachment.axd?Id={0}") %>'>View</asp:HyperLink>
<asp:LinkButton ID="LinkButton2" runat="server" Text="Edit" CommandName="Edit" />
<asp:LinkButton ID="LinkButton3" runat="server" Text="Delete" CommandName="DeleteCommand" />
</ItemTemplate>
<EditItemTemplate>
<asp:LinkButton ID="LinkButton5" runat="server" Text="Update" CommandName="Update" Visible='<%# !rad.MasterTableView.IsItemInserted %>' />
<asp:LinkButton ID="LinkButton6" runat="server" Text="Insert" CommandName="PerformInsert" Visible='<%# rad.MasterTableView.IsItemInserted %>' />
<asp:LinkButton ID="LinkButton4" runat="server" Text="Cancel" CommandName="Cancel" />
</EditItemTemplate>
<ItemStyle Wrap="False" />
</radG:GridTemplateColumn>
</Columns>
<CommandItemTemplate>
<asp:LinkButton ID="btnAdd" Text="Add New" CommandName="InitInsert" Runat="server" Visible='<%# !rad.IsItemInserted %>'></asp:LinkButton>
</CommandItemTemplate>
<EditFormSettings>
<EditColumn FilterImageUrl="" SortAscImageUrl="" SortDescImageUrl="">
</EditColumn>
</EditFormSettings>
<ExpandCollapseColumn FilterImageUrl="" SortAscImageUrl="" SortDescImageUrl="" Visible="False">
<HeaderStyle Width="19px" />
</ExpandCollapseColumn>
<RowIndicatorColumn Visible="False">
<HeaderStyle Width="20px" />
</RowIndicatorColumn>
</MasterTableView>
</
radG:RadGrid>
Thank U in Advance
Mr.Perfect
<ajaxToolKit:ToolkitScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" EnablePartialRendering="true"> <Services> <asp:ServiceReference Path="~/Services/PopulateUnitsWebServices.asmx" /> </Services> <Services> <asp:ServiceReference Path="~/Services/VolunteerDataService.asmx"/> </Services> <Scripts> <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.Core.js" /> <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQuery.js" /> <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQueryInclude.js" /> </Scripts> </ajaxToolKit:ToolkitScriptManager> <telerik:RadStyleSheetManager id="RadStyleSheetManager1" runat="server" /> <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel" runat="server" Transparency="30" CssClass="LoadingPanel_Hay"></telerik:RadAjaxLoadingPanel> <telerik:RadSkinManager ID="RadSkinManager1" Runat="server" Skin="Windows7"> </telerik:RadSkinManager><telerik:RadAjaxManager runat="server" ID="radAjax" DefaultLoadingPanelID="RadAjaxLoadingPanel"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="AvailableDonors"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="AvailableDonors" /> <telerik:AjaxUpdatedControl ControlID="SelectedDonors" /> <telerik:AjaxUpdatedControl ControlID="hdnRatingAndCommentSpace" /> </UpdatedControls> </telerik:AjaxSetting> <telerik:AjaxSetting AjaxControlID="SelectedDonors"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="AvailableDonors" /> <telerik:AjaxUpdatedControl ControlID="SelectedDonors" /> <telerik:AjaxUpdatedControl ControlID="hdnRatingAndCommentSpace" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings> </telerik:RadAjaxManager>• Ambiguous match found. (System.Reflection.AmbiguousMatchException) at System.RuntimeType.GetField(String name, BindingFlags bindingAttr) at System.Web.UI.Util.GetNonPrivateFieldType(Type classType, String fieldName) at System.Web.Compilation.BaseTemplateCodeDomTreeGenerator.BuildFieldDeclaration(ControlBuilder builder) at System.Web.Compilation.BaseTemplateCodeDomTreeGenerator.BuildSourceDataTreeFromBuilder(ControlBuilder builder, Boolean fInTemplate, Boolean topLevelControlInTemplate, PropertyEntry pse) at System.Web.Compilation.BaseTemplateCodeDomTreeGenerator.BuildSourceDataTreeFromBuilder(ControlBuilder builder, Boolean fInTemplate, Boolean topLevelControlInTemplate, PropertyEntry pse) at System.Web.Compilation.BaseTemplateCodeDomTreeGenerator.BuildSourceDataTreeFromBuilder(ControlBuilder builder, Boolean fInTemplate, Boolean topLevelControlInTemplate, PropertyEntry pse) at System.Web.Compilation.BaseTemplateCodeDomTreeGenerator.BuildSourceDataTreeFromBuilder(ControlBuilder builder, Boolean fInTemplate, Boolean topLevelControlInTemplate, PropertyEntry pse) at System.Web.Compilation.BaseTemplateCodeDomTreeGenerator.BuildSourceDataTreeFromBuilder(ControlBuilder builder, Boolean fInTemplate, Boolean topLevelControlInTemplate, PropertyEntry pse) at System.Web.Compilation.BaseTemplateCodeDomTreeGenerator.BuildSourceDataTreeFromBuilder(ControlBuilder builder, Boolean fInTemplate, Boolean topLevelControlInTemplate, PropertyEntry pse) at System.Web.Compilation.BaseTemplateCodeDomTreeGenerator.BuildSourceDataTreeFromBuilder(ControlBuilder builder, Boolean fInTemplate, Boolean topLevelControlInTemplate, PropertyEntry pse) at System.Web.Compilation.BaseTemplateCodeDomTreeGenerator.BuildSourceDataTreeFromBuilder(ControlBuilder builder, Boolean fInTemplate, Boolean topLevelControlInTemplate, PropertyEntry pse) at System.Web.Compilation.TemplateControlCodeDomTreeGenerator.BuildMiscClassMembers() at System.Web.Compilation.PageCodeDomTreeGenerator.BuildMiscClassMembers() at System.Web.Compilation.BaseCodeDomTreeGenerator.BuildSourceDataTree() at System.Web.Compilation.BaseCodeDomTreeGenerator.GetCodeDomTree(CodeDomProvider codeDomProvider, StringResourceBuilder stringResourceBuilder, VirtualPath virtualPath) at System.Web.Compilation.BaseTemplateBuildProvider.GenerateCode(AssemblyBuilder assemblyBuilder) at System.Web.Compilation.AssemblyBuilder.AddBuildProvider(BuildProvider buildProvider) • Ambiguous match found. (System.Web.HttpParseException) at System.Web.Compilation.AssemblyBuilder.AddBuildProvider(BuildProvider buildProvider) at System.Web.Compilation.BuildProvidersCompiler.ProcessBuildProviders() at System.Web.Compilation.BuildProvidersCompiler.PerformBuild() at System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath) at System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile) at System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile) at System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean noAssert) at System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath, Type requiredBaseType, HttpContext context, Boolean allowCrossApp, Boolean noAssert) at System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath) at System.Web.UI.PageHandlerFactory.System.Web.IHttpHandlerFactory2.GetHandler(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath) at System.Web.HttpApplication.MapHttpHandler(HttpContext context, String requestType, VirtualPath path, String pathTranslated, Boolean useAppConfig) at System.Web.HttpApplication.MapHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)