Hi; I am using the released version of AJAX Controls and I am working on a Web Application with a Masterpage.
What I would like to do is, I have two Radiobuttons and two TextBoxes inside an update panel; When the user clicks the RadioButton1, I would like to set the focus to TextBox1 and if the user clicks the RadioButton2, I would like to set the focus to the TextBox2. I have googled for it and found couple of similar solutions that works with the beta AJAX assembly "Microsoft.Web.Atlas" but it doesn't work with the ASP.Net AJAX which I am using in my current project.
The following code works just fine when I use theMicrosoft.Web.Atlas soplease let me know if anyone knows a solution that works with the released version of AJAX Controls; Thanks in advance.
//***************************************************************************************
//Code behindprotected void RadioButton1_CheckedChanged(object sender, EventArgs e) { SetMyFocus(ref TextBox1); TextBox1.Focus(); }private void SetMyFocus(ref TextBox txtBox) {string focusString ="setTimeout(\"$('" + txtBox.ClientID + "').focus(); \", 100);"; ClientScript.RegisterStartupScript(this.GetType(),"focusString", focusString,true); }protected void RadioButton2_CheckedChanged(object sender, EventArgs e) { SetMyFocus(ref TextBox2); TextBox2.Focus(); }
//***************************************************************************************
The following code is from the source view of the page
<%@dotnet.itags.org. Page Language="C#" MasterPageFile="~/Test.master" AutoEventWireup="true" CodeFile="Test.aspx.cs" Inherits="Test" Title="Untitled Page" %><%@dotnet.itags.org. Register Assembly="Microsoft.Web.Atlas" Namespace="Microsoft.Web.UI" TagPrefix="cc1" %><asp:Content ID="Content1" ContentPlaceHolderID="CPHTest" Runat="Server"> <cc1:ScriptManager ID="ScriptManager2" runat="server" EnablePartialRendering="true"> </cc1:ScriptManager> <cc1:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> <asp:RadioButton ID="RadioButton1" runat="server" AutoPostBack="True" OnCheckedChanged="RadioButton1_CheckedChanged" GroupName="Group1" /><br /> <asp:RadioButton ID="RadioButton2" runat="server" AutoPostBack="True" GroupName="Group1" OnCheckedChanged="RadioButton2_CheckedChanged" /><br /> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br /> <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox><br /> <asp:TextBox ID="TextBox3" runat="server"></asp:TextBox><br /> </ContentTemplate> </cc1:UpdatePanel></asp:Content>
Hi,
I am using the new SetFocus method of the ScriptManager class.
Example:
ScriptManager1.SetFocus(TextBox2);
I works with the last release of Microsoft AJAX.
Hope this helps,
David
Wow; that works great; Thanks for the quick reply.
Jacob
I am using the Atlas beta version. I am having the same textbox focus problem. I tried to use the setFocus(), but i couldnt find the setFocus() of the scriptmanager.
Where to use
ScriptManager1.SetFocus(TextBox2);
I just have the
ScriptManager1.Focus() method. please help.
Thanks in Advance
Use the latest version of ASP.NET AJAX
Thanks lot
I also having same prob and search the web for solution. This is tha only place that I found a resolution.
Thanks lot again
No comments:
Post a Comment