In order to get familiar in a fast and pretty straight-forward manner with RadWindow for ASP.NET AJAX, I suggest you visit the online resources linked below:
Of course, you can browse the public forum as well in order to find a specific information/code sample concerning an aspect of the RadWindow object model/ features. There are numerous threads which can get you started/assist you through the development process.
If you think you have an interesting project implementation with the RadWindow that would benefit the community, we will gladly reward you for posting it in the Code library of RadWindow. So feel free to share your projects for others to learn more about all the amazing things RadWindow can do.
Finally, we will appreciate your feedback on the structure/content of the online resources - our goal is to continue enriching them, thus facilitating our customers even more.
int value = Convert.ToInt32(e.CommandArgument);<telerik:RadGrid ID="gvKontakti" runat="server" AllowPaging="True" AllowSorting="True" CellSpacing="0" GridLines="None" DataKeyNames="idKontakt" AutoGenerateColumns="false" OnDeleteCommand="gvKontakti_DeleteCommand" OnEditCommand="gvKontakti_EditCommand" OnInsertCommand="gvKontakti_InsertCommand"> <MasterTableView CommandItemDisplay="TopAndBottom"> <Columns> <telerik:GridEditCommandColumn UniqueName="EditCommandColumn"> </telerik:GridEditCommandColumn> <telerik:GridBoundColumn UniqueName="Naziv" HeaderText="Naziv" DataField="Naziv"> </telerik:GridBoundColumn> <telerik:GridBoundColumn UniqueName="Funkcija" HeaderText="Funkcija" DataField="Funkcija"> </telerik:GridBoundColumn> <telerik:GridBoundColumn UniqueName="Tel1" HeaderText="Telefon 1" DataField="Tel1"> </telerik:GridBoundColumn> <telerik:GridBoundColumn UniqueName="Tel2" HeaderText="Telefon 2" DataField="Tel2"> </telerik:GridBoundColumn> <telerik:GridBoundColumn UniqueName="Mob1" HeaderText="Mobitel 1" DataField="Mob1"> </telerik:GridBoundColumn> <telerik:GridBoundColumn UniqueName="Mob2" HeaderText="Mobitel 2" DataField="Mob2"> </telerik:GridBoundColumn> <telerik:GridBoundColumn UniqueName="Email1" HeaderText="E-mail 1" DataField="E-mail1"> </telerik:GridBoundColumn> <telerik:GridBoundColumn UniqueName="Email2" HeaderText="E-mail 2" DataField="E-mail2"> </telerik:GridBoundColumn> <telerik:GridBoundColumn UniqueName="Fax" HeaderText="Fax" DataField="Fax"> </telerik:GridBoundColumn> </Columns> <EditFormSettings EditFormType="Template"> <EditColumn UniqueName="EditColumn"> </EditColumn> <FormTemplate> <table> <tr> <td> Ime: </td> <td> <asp:TextBox ID="txtIme" runat="server" Text='<%# Bind("Ime") %>'></asp:TextBox> </td> <td> Prezime: </td> <td> <asp:TextBox ID="txtPrezime" runat="server" Text='<%# Bind("Prezime") %>'></asp:TextBox> </td> </tr> </table> <asp:Button ID="btnSave" CommandName="Save" Text="Spremi" runat="server" /> <asp:Button ID="btnDelete" CommandName="Delete" Text="Delete" runat="server" /> </FormTemplate> </EditFormSettings> </MasterTableView>protected void gvKontakti_EditCommand(object sender, Telerik.Web.UI.GridCommandEventArgs e) { int idKontakt = 0; int value = Convert.ToInt32(e.CommandArgument); if (e.CommandName == "Spremi") { TSEntities db = new TSEntities(); Kontakt kontakt = new Kontakt(); if (idKontakt > 0) { kontakt = db.Kontakts.SingleOrDefault(k => k.idKontakt == idKontakt); TextBox txtIme = (TextBox)gvKontakti.FindControl("txtIme"); TextBox txtPrezime = (TextBox)gvKontakti.FindControl("txtPrezime"); TextBox txtFunkcija = (TextBox)gvKontakti.FindControl("txtFunkcija"); TextBox txtTel1 = (TextBox)gvKontakti.FindControl("txtTel1"); TextBox txtTel2 = (TextBox)gvKontakti.FindControl("txtTel2"); TextBox txtMob1 = (TextBox)gvKontakti.FindControl("txtMob1"); TextBox txtMob2 = (TextBox)gvKontakti.FindControl("txtMob2"); TextBox txtFax = (TextBox)gvKontakti.FindControl("txtFax"); TextBox txtEmail1 = (TextBox)gvKontakti.FindControl("txtEmail1"); TextBox txtEmail2 = (TextBox)gvKontakti.FindControl("txtEmail2"); TextBox txtAdresa1 = (TextBox)gvKontakti.FindControl("txtAdresa1"); TextBox txtAdresa2 = (TextBox)gvKontakti.FindControl("txtAdresa2"); TextBox txtAdresa3 = (TextBox)gvKontakti.FindControl("txtAdresa3"); TextBox txtGrad = (TextBox)gvKontakti.FindControl("txtGrad"); TextBox txtPBR = (TextBox)gvKontakti.FindControl("txtPBR"); TextBox txtDrzava = (TextBox)gvKontakti.FindControl("txtDrzava"); TextBox txtBiljeske = (TextBox)gvKontakti.FindControl("txtBiljeske"); CheckBox chkAktivan = (CheckBox)gvKontakti.FindControl("chkAktivan"); kontakt.Ime = txtIme.Text; kontakt.Prezime = txtPrezime.Text; } else { } db.SaveChanges(); } }

The RadWindow is a client-side object – its UI is created when it is first shown and this is the point when the CSS and scripts are loaded as well. This means that it should be used on the client via JavaScript, yet it turns out that it is a very common scenario that the developer wishes to initiate the RadWindow’s showing from the code-behind.
The VisibleOnPageLoad property should not be used for this
purpose. It is a behavior property which will result in the RadWindow opening
every time the page is post back.
Quite often the VisibleOnPageLoad property gets set to true
while the intention is that the RadWindow should only show once. Doing so will
result in the RadWindow reopening if a postback is initiated from another
element from the page, which is rarely the desired behavior. Also, this
approach will not work in case this happens in an AJAX request and the
RadWindow is not included in the partial page update.
There are several ways to work around this:
1) Register a JavaScript function from the
server-side and do not use the VisibleOnPageLoad property, for example:
<telerik:RadWindow runat="server" ID="RadWindow1" NavigateUrl="http://google.com/"></telerik:RadWindow> <asp:Button ID="Button1" Text="open the RadWindow from the server" runat="server" OnClick="Button1_Click" />protected void Button1_Click(object sender, EventArgs e) { //business logic goes here string script = "function f(){$find(\"" + RadWindow1.ClientID + "\").show(); Sys.Application.remove_load(f);}Sys.Application.add_load(f);"; ScriptManager.RegisterStartupScript(Page, Page.GetType(), "key", script, true); }Protected Sub Button1_Click(sender As Object, e As System.EventArgs) Handles Button1.Click 'business logic goes here Dim script As String = "function f(){$find(""" + RadWindow1.ClientID + """).show(); Sys.Application.remove_load(f);}Sys.Application.add_load(f);" ScriptManager.RegisterStartupScript(Page, Page.GetType(), "key", script, True) End Sub