如何使用javascript函数在窗口/面板控件中设置Ext.net加载掩码?

时间:2016-05-26 13:49:15

标签: javascript ext.net

function showImageFn(imgID,frmPanelPicture) {                                                                                                               
    var myMask = new Ext.LoadMask(Ext.getCmp('frmPanelPicture').el{msg:'Loading'});  //showing error 

    var myMask = new Ext.LoadMask(frmPanelPicture, {msg:"Loading..."}); //showing error                                                                                   
    loadMask.show();
    ShowPicMethod.ShowImage(imgID)
 };

显示JavaScript运行时错误:

  

'frmPanelPicture'未定义

但如果我使用以下代码段:

Ext.getBody().mask("Loading..."); //it's work fine

但是它在孔体上工作但是我不想要这个,我想只给窗口/面板控件加载面罩而不是孔体/页面。请帮帮我。谢谢提前。

2 个答案:

答案 0 :(得分:0)

蒙版始终适用于任何元素的主体。因此,我们必须使用Ext.getCmp("frmPanelPicture").getBody()找出正文,然后应用掩码,如下所示

 var myMask = new Ext.LoadMask(Ext.getCmp("frmPanelPicture").getBody(), {msg:"Loading..."});
 myMask.show(); 

试试这个

答案 1 :(得分:0)

您试图找到名为'frmPanelPicture'的元素。除非你使用IDMode = Static你的面板元素不会像'frmPanelPicture'那样添加到DOM,它将是App.frmPanelPicture。

在chrome按F12并转到控制台,输入“App”。并查看Ext.NET如何构建您的所有元素。您的面板将命名为App.frmPanelPicture或App.ctl00_mainContent_frmPanelPicture。

另一方面,Ext.NET的工作人员很好地预测了你需要一个面具的位置。你可以在大多数directevents上制作你想要的面具。在编写自己的脚本之前,你已经筋疲力尽了。

<ext:Panel ID="Panel1" runat="server" Height="300" Title="Title" IDMode="Static">
    <Buttons>
        <ext:Button ID="Button1" runat="server">
            <DirectEvents>
                <Click OnEvent="Button1_Click">
                    <EventMask Msg="loading..." CustomTarget="#{Panel1}" Target="CustomTarget">
                    </EventMask>
                </Click>
            </DirectEvents>
        </ext:Button>
    </Buttons>