here is the ashx implementation;
myHanndler.ashx
public void ProcessRequest(HttpContext context)
{
string mainTabPnl = context.Request["container"];
string url = context.Request["url"];
string id = context.Request["id"];
Ext.Net.Panel pn = new Ext.Net.Panel()
{
Title = "MY TITLE",
Closable = true,
Layout = "Fit",
Height = 500,
ID = id,
Items = {
new UserControlLoader{
Path=url
}
}
};
pn.AddTo(mainTabPnl);
new DirectResponse().Return();
}
and client side
<ext:XScript ID="XScript1" runat="server">
<script>
var onClickMeLoadComponent = function (tabPanel, id, url, menuItem) {
var tab = #{mainTabPnl}.getComponent(id);
if (!tab) {
Ext.net.DirectMethod.request({
url: "MyHandler.ashx",
cleanRequest: true,
params: {
container: tabPanel,
url: url,
id:id
}, complete: function () {
var tab = #{mainTabPnl}.getComponent(id);
#{mainTabPnl}.setActiveTab(tab);
}
});
//tab.on("activate", function (tab) {
// #{mainTabPnl}.setSelection(tab.menuItem);
//});
}
#{mainTabPnl}.setActiveTab(tab);
};
</script>
</ext:XScript>