Sep 10, 2013, 4:32 AM
[CLOSED] Different behaviors in DirectEvent between UserControlLoader and UserControl
ascx
ascx.cs
However, this slight change in the aspx Page_Load to the following does not.
I should note also that both fail to display the alert.
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="Test31a.ascx.cs" Inherits="Test31a" %>
<ext:Window ID="TW" runat="server" Title="Add Something" Width="500" Modal="true">
<Items>
<ext:FormPanel ID="FP" runat="server" BodyPadding="5" BodyStyle="background:white;" Height="400"
Layout="FitLayout">
<Items>
<ext:Label ID="Label1" runat="server" Html="Sample Text" Padding="5" Flex="1" />
<ext:MultiSelect ID="MS" runat="server" HideLabel="true"
BodyPadding="5" StyleSpec="padding-left:10px;" Border="false" Width="110" Height="300" ShowCheckbox="true">
<Items>
<ext:ListItem Text="1" Value="1" />
<ext:ListItem Text="2" Value="2" />
<ext:ListItem Text="3" Value="3" />
</Items>
<Listeners>
<Render Handler="#{MS}.setSelectedItems(#{MS}.store.getAllRange());" />
</Listeners>
</ext:MultiSelect>
</Items>
<Buttons>
<ext:Button ID="Submit" runat="server" Text="Submit" Type="Submit">
<DirectEvents>
<Click OnEvent="OnAdd">
<EventMask ShowMask="true" MinDelay="500" Msg="Adding..." />
</Click>
</DirectEvents>
</ext:Button>
</Buttons>
</ext:FormPanel>
</Items>
</ext:Window>
ascx.cs
using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Ext.Net;
public partial class Test31a : UserControl {
protected void Page_Load( object sender, EventArgs e ) {
if( !X.IsAjaxRequest )
TW.Show();
}
protected void OnAdd( object sender, DirectEventArgs e ) {
var items = MS.SelectedItems;
int len = items.Count;
X.Msg.Alert( "Items", len.ToString() );
}
}
aspx<%@ Page Language="C#" %>
<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
<script runat="server">
protected void Page_Load( object sender, EventArgs e ) {
var ctl = Page.LoadControl( "Test31a.ascx" );
ctl.ID = "TaskUC" + 1.ToString();
Page.Controls.Add( ctl );
}
</script>
<!DOCTYPE html>
<html>
<head id="Head1" runat="server">
<title>Test31a</title>
</head>
<body>
<form id="Form1" runat="server">
<ext:ResourceManager ID="ResourceManager1" runat="server" ViewStateMode="Enabled" ScriptMode="Debug" SourceFormatting="true" />
<ext:Viewport ID="vp" runat="server">
</ext:Viewport>
</form>
</body>
</html>
This version does trap in OnAdd and len does seem to contain the count of selected items.However, this slight change in the aspx Page_Load to the following does not.
protected void Page_Load( object sender, EventArgs e ) {
var ctl = new UserControlLoader( new UserControlLoader.Config() { Path = "Test31a.ascx" } );
ctl.UserControlID = "TaskUC" + 1.ToString();
vp.Bin.Add( ctl );
}
I should note also that both fail to display the alert.
Last edited by Daniil; Sep 17, 2013 at 5:28 AM.
Reason: [CLOSED]