Asp.net 桌面实现的Ext.Net方法
我想开始使用Ext.Net桌面(我将其用作其他应用程序的“普通页面”) 我想知道从数据库数据初始化桌面的最佳方法。 我的实际做法是: 1.从没有任何模块的“最小”桌面页面(开始菜单ecc…)开始; 2.从数据库中读取数据(基于相同的参数),并使用userc控件(例如,在数据库中保存usercontrol的路径/标题等)创建动态模块(我认为使用DesktopModuleProxy); 3.创建usercontrol并在桌面中呈现它 我从这个例子开始: 方法AddNewModule()仅在存在提交(例如带有启动器)时有效,但在Page_Load事件中不起作用,我有以下javascript错误:Asp.net 桌面实现的Ext.Net方法,asp.net,ext.net,Asp.net,Ext.net,我想开始使用Ext.Net桌面(我将其用作其他应用程序的“普通页面”) 我想知道从数据库数据初始化桌面的最佳方法。 我的实际做法是: 1.从没有任何模块的“最小”桌面页面(开始菜单ecc…)开始; 2.从数据库中读取数据(基于相同的参数),并使用userc控件(例如,在数据库中保存usercontrol的路径/标题等)创建动态模块(我认为使用DesktopModuleProxy); 3.创建usercontrol并在桌面中呈现它 我从这个例子开始: 方法AddNewModule()仅在存在提交(
“无法读取ext.axd:93中未定义的属性'length'”
也许我用错了生命周期页面
最后,也许我用一个webform来代替usercontrol,但我有同样的情况,我必须使用usercontrol
谢谢
.aspx文件
<ext:Desktop ID="Desktop1" runat="server">
<StartMenu Title="Ext.Net Desktop" Icon="Application" Height="300">
<ToolConfig>
<ext:Toolbar ID="Toolbar1" runat="server" Width="100">
<Items>
<ext:Button ID="Button1" runat="server" Text="Settings" Icon="Cog" />
<ext:Button ID="Button2" runat="server" Text="Logout" Icon="Key">
<DirectEvents>
<Click OnEvent="Logout_Click">
<EventMask ShowMask="true" Msg="Ciao..." MinDelay="1000" />
</Click>
</DirectEvents>
</ext:Button>
</Items>
</ext:Toolbar>
</ToolConfig>
</StartMenu>
<TaskBar TrayWidth="100">
<QuickStart>
<ext:Toolbar ID="Toolbar2" runat="server">
<Items>
<ext:Button ID="Button3" runat="server" Handler="tile" Icon="ApplicationTileVertical">
<QTipCfg Text="Tile windows" />
</ext:Button>
<ext:Button ID="Button4" runat="server" Handler="cascade" Icon="ApplicationCascade">
<QTipCfg Text="Cascade windows" />
</ext:Button>
</Items>
</ext:Toolbar>
</QuickStart>
<Tray>
<ext:Toolbar ID="Toolbar3" runat="server">
<Items>
<ext:ToolbarFill ID="ToolbarFill1" runat="server" />
</Items>
</ext:Toolbar>
</Tray>
</TaskBar>
<DirectEvents>
<Ready OnEvent="loadTest"></Ready>
</DirectEvents>
</ext:Desktop>
.cs文件
[DirectMethod]
public void loadTest(object sender, DirectEventArgs e)
{
DesktopModuleProxy control = Ext.Net.Utilities.ControlUtils.FindControl<Ext.Net.DesktopModuleProxy> (this.LoadControl("/user/default.ascx"));
control.RegisterModule();
}
[DirectMethod]
public void loadTest(对象发送方,DirectEventArgs e)
{
DesktopModuleProxy control=Ext.Net.Utilities.ControlUtils.FindControl(this.LoadControl(“/user/default.ascx”);
control.RegisterModule();
}
chrome错误:
未捕获类型错误:无法读取未定义默认值的属性“app”。aspx:31
未捕获的TypeError:无法读取未定义ext的属性“length”。axd:93
这是我各种测试的“最后版本”。如果我通过按钮调用相同的方法“loadTest”(如原始示例),它就可以工作。用户控件只有一个带有日期时间的标签
谢谢 您可以将Ext.onReady和Ext:ResourcePlaceHolder与服务器上的DirectMethod一起使用,如下所示:
<ext:ResourcePlaceHolder runat="server" Mode="Script" />
<script type="text/javascript">
Ext.onReady(function () {
App.direct.YourDirectMethod();
});
</script>
Ext.onReady(函数(){
App.direct.YourDirectMethod();
});
我认为您必须发布一个简化的.aspx代码示例,演示如何复制。我尝试了你上面链接的示例,它似乎工作正常。是的,当然这个示例非常有效。也许我犯了一个错误,但我的问题没有什么不同。我想知道我的方法是好是坏,当开发人员想要创建一个web桌面应用程序时,是否有一个“最佳实践”可以遵循。。。