/// CODE I PAGE LOAD.
lbAllTemplateTasks.Attributes.Add("ondblclick", ClientScript.GetPostBackEventReference(lbAllTemplateTasks, "addthis"));
if (Request["__EVENTARGUMENT"] != null && Request["__EVENTARGUMENT"] == "addthis")
{
if (lbAllTemplateTasks.SelectedIndex > -1)
{
TemplateTask tt = TemplateTask.TryFind(Convert.ToInt32(lbAllTemplateTasks.SelectedValue));
Stage stage = Stage.Find(Convert.ToInt32(ddlSelectStage.SelectedValue));
stage.TemplateTaskList.Add(tt);
stage.SaveAndFlush();
}
lbAllTemplateTasks.DataBind();
lbThisTemplateTasks.DataBind();
upnlAllTemplateTasks.Update();
upnlThisTemplateTasks.Update();
}
LISTBOXCONTROL :
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.Design.WebControls;
namespace Induct_Ctl
{
public class InductListBox : ListBox,IPostBackEventHandler
{
public event EventHandler DoubleClick;
protected virtual void OnDoubleClick(EventArgs e)
{
if(DoubleClick != null)
{
DoubleClick(this, e);
}
}
public void RaisePostBackEvent(string navigateUrl)
{
this.OnDoubleClick(System.EventArgs.Empty);
}
protected override void OnPreRender(EventArgs e)
{
base.OnPreRender(e); this.Attributes.Add("ondblclick", "javascript: " + Page.GetPostBackEventReference(this));
}
}
}
Usage :
protected void lnkSetTemplateTask_Click(object sender, ImageClickEventArgs e)
{
if (lbAllTemplateTasks.SelectedIndex > -1)
{
addTemplateTask();
}
}
<Induct:InductListBox ID="lbThisTemplateTasks" runat="server"
DataSourceID="odsExistingTemplateTasks" DataTextField="Title" DataValueField="Id"
Height="120px" Width="210px" AutoPostBack="True"
onselectedindexchanged="lbThisTemplateTasks_SelectedIndexChanged" OnDoubleClick="lbThisTemplateTasks_DoubleClick"
/>