|
Requirements |
|
| RadControls 2010.3.1317.35version | |
| .NET version 3.5 |
|
| Visual Studio version 2010 |
|
| programming language C# |
|
| browser support |
all browsers supported by RadControls |
PROJECT DESCRIPTION
This project demonstrates how to handle ASP.NET Form Validation with the RadAjaxManager when fired from the onkeypress event from a textbox and perform an async postback if the validation succeeded.
<html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <title></title> <telerik:RadCodeBlock runat="server" ID="radCodeBlock"> <script type="text/javascript"> function CheckEnterKey(sender, args) { var keyCode = args.get_keyCode(); if (keyCode == 13) { Page_ClientValidate("Search"); if (Page_IsValid) { var ajaxManager = $find("<%= RadAjaxManager1.ClientID %>"); ajaxManager.ajaxRequestWithTarget('<%= btnSearch.UniqueID %>', ''); } } } </script> </telerik:RadCodeBlock></head><body> <form id="form1" runat="server"> <telerik:RadScriptManager runat="server" ID="radScriptMgr"> </telerik:RadScriptManager> <telerik:RadInputManager ID="RadInputManager1" runat="server"> <telerik:RegExpTextBoxSetting BehaviorID="Setting3" EmptyMessage="Enter Zip Code" ClientEvents-OnKeyPress="CheckEnterKey" ValidationExpression="\d{5}(-\d{4})?" ErrorMessage="Invalid Zip Code" Validation-IsRequired="true" Validation-ValidationGroup="Search"> <TargetControls> <telerik:TargetInput ControlID="txtZipCode" /> </TargetControls> </telerik:RegExpTextBoxSetting> </telerik:RadInputManager> <telerik:RadAjaxLoadingPanel Skin="Default" runat="server" ID="pnlLoadingPanel"> </telerik:RadAjaxLoadingPanel> <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="btnSearch"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="pnlSearch" LoadingPanelID="pnlLoadingPanel" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings> </telerik:RadAjaxManager> <div style="text-align: center; margin: 0 auto;"> <asp:TextBox ID="txtZipCode" ValidationGroup="Search" runat="server" MaxLength="5" Width="133px" Height="20px"></asp:TextBox> <telerik:RadButton runat="server" ID="btnSearch" Text="Search" ValidationGroup="Search"> <Icon PrimaryIconCssClass="rbSearch" PrimaryIconLeft="4" PrimaryIconTop="4" /> </telerik:RadButton> <br /><br /> <asp:Panel ID="pnlSearch" Height="100%" DefaultButton="btnSearch" Width="100%" runat="server"> <asp:Literal ID="litTimeOfSearch" runat="server"></asp:Literal><br /><br /><br /><br /> </asp:Panel> </div> </form></body></html>
After this you can use some event handling to perform the necessary action postback.
protected void Page_Load(object sender, EventArgs e)
{
this.btnSearch.Click += new EventHandler(btnSearch_Click);
}
void btnSearch_Click(object sender, EventArgs e)
{
Thread.Sleep(2000);
litTimeOfSearch.Text = string.Format("<b>Last Search Executed at</b>: {0} <br/> <b>Zip code </b> : {1}", DateTime.Now.ToShortTimeString()
,txtZipCode.Text);
}