Hello,
i'm trying to execute a treatment for all selected line in a listview control (one by one)
this works fine but is it the right way to do that with telerik ? (OnResponseEnd + ajaxRequest)
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default7.aspx.cs" Inherits="Default7" %> |
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
<html xmlns="http://www.w3.org/1999/xhtml"> |
<head id="Head1" runat="server"> |
<title>Untitled Page</title> |
<script type="text/javascript"> |
//for the number of the next listitem to run |
var LiListNumber=0 |
//////////////////////////////////////////// |
function OnRequestStart(ajaxPanel, eventArgs){ |
/**nothing to do**/ |
} |
function OnResponseEnd(ajaxPanel, eventArgs){ |
if(LiListNumber<document.getElementById('Listbox1').length) |
{ TraitementList(document.getElementById('Listbox1'));} |
} |
</script> |
</head> |
<body> |
<form id="form1" runat="server"> |
<telerik:RadScriptManager ID="ScriptManager1" runat="server" EnableTheming="True"> |
</telerik:RadScriptManager> |
<div> |
<telerik:RadCodeBlock ID="RadCodeBlock1" runat="server"> |
<script type="text/javascript"> |
function TraitementList(list) |
{ |
var ajaxMng = $find("<%= RadAjaxManager1.ClientID %>"); |
for (var i=LiListNumber; i < list.options.length ; i++) |
//i'm searching for the next selected item |
{if(list.options[i].selected){ |
var svgtext=list.options[i].text |
list.options[i].text = "====>"+svgtext |
//for the next call |
//i'm calling the treatment |
ajaxMng.ajaxRequest(svgtext); |
break |
// exit |
} |
} |
if(i<list.options.length) |
{LiListNumber=i+1} |
else |
{LiListNumber=0} |
return false; |
} |
</script> |
</telerik:RadCodeBlock> |
<telerik:RadAjaxManager runat="server" ID="RadAjaxManager1" OnAjaxRequest="RadAjaxManager1_AjaxRequest" |
DefaultLoadingPanelID="RadAjaxLoadingPanel1"> |
<ClientEvents OnRequestStart="OnRequestStart" OnResponseEnd="OnResponseEnd" /> |
<AjaxSettings> |
<telerik:AjaxSetting AjaxControlID="RadCodeBlock1"> |
<UpdatedControls> |
<telerik:AjaxUpdatedControl ControlID="Label1" LoadingPanelID="RadAjaxLoadingPanel1" /> |
</UpdatedControls> |
</telerik:AjaxSetting> |
<telerik:AjaxSetting AjaxControlID="Button3"> |
<UpdatedControls> |
<telerik:AjaxUpdatedControl ControlID="Label1" /> |
</UpdatedControls> |
</telerik:AjaxSetting> |
</AjaxSettings> |
</telerik:RadAjaxManager> |
<br /> |
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> |
<br /> |
<asp:ListBox ID="ListBox1" runat="server" Height="102px" SelectionMode="Multiple" |
Width="504px"> |
<asp:ListItem Value="1">First</asp:ListItem> |
<asp:ListItem Value="2">Second</asp:ListItem> |
<asp:ListItem Value="3">Third</asp:ListItem> |
<asp:ListItem Value="4">Fourth</asp:ListItem> |
<asp:ListItem Value="5">Fith</asp:ListItem> |
</asp:ListBox> |
<asp:Button runat="server" ID="Button3" Text="Button3" OnClientClick="return TraitementList(ListBox1);" /> |
<br /> |
</div> |
</form> |
</body> |
</html> |
using System; |
using System.Collections; |
using System.Configuration; |
using System.Data; |
using System.Linq; |
using System.Web; |
using System.Web.Security; |
using System.Web.UI; |
using System.Web.UI.HtmlControls; |
using System.Web.UI.WebControls; |
using System.Web.UI.WebControls.WebParts; |
using System.Xml.Linq; |
public partial class Default7:System.Web.UI.Page { |
protected void Page_Load(object sender, EventArgs e) |
{ |
} |
protected void RadAjaxManager1_AjaxRequest(object sender, Telerik.Web.UI.AjaxRequestEventArgs e) { |
Label1.Text="End of"+e.Argument; |
System.Threading.Thread.Sleep(3000); |
} |
} |
thanks for all your work.