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);
}