如何在ExtJS中禁用消息框的掩码?

时间:2015-09-11 19:41:08

标签: javascript extjs

我的ExtJS是4.1.1版本,我正在使用messageBox来显示警告对话框,每个组件都有自己的自定义消息框。现在我的情况是,当一个消息框出现时,它后面有一个掩码并禁用所有其他组件。但是,我只想在触发警告的特定组件上显示一个掩码。

                    // create messageBox
                    var messageBox = Ext.create( 'Ext.window.MessageBox' );

                    // define configurations for messageBox
                    var config = {
                            title: Locale.gettext( 'Warning' ),
                            icon: Ext.MessageBox.WARNING,
                            buttons: Ext.Msg.YESNOCANCEL,
                            msg: Obj.errorMsg,
                            fn: function( btn ) {
                                    if( btn === 'yes' ) {
                                            // do something
                                    } else if( btn === 'no' ) {
                                            // do something
                                    }
                                    messageBox.destroy();
                                    _slf.box.unmask();
                            }
                    };

                    messageBox.render( this.box.element );
                    messageBox.show( config );
                    messageBox.alignTo( this.box.element, 't-c' );
                    _slf.box.mask();

这段代码将用于触发警告的每个框。那么当显示messageBox时如何禁用默认掩码?

1 个答案:

答案 0 :(得分:4)

经过一番调查后,我发现我可以设置protected void download(object sender, EventArgs e) { LinkButton btn = (LinkButton)sender; String name = btn.Text; conn.Open(); SqlDataAdapter sda = new SqlDataAdapter("select str_file from soham_movies where title='" + name + "'", conn); conn.Close(); DataTable dt = new DataTable(); sda.Fill(dt); string filePath = ""; filePath = "~/files/" + dt.Rows[0][0].ToString(); Response.Clear(); Response.ContentType = "movieFiles"; Response.AddHeader("Content-Disposition", "attachment; filename=" + dt.Rows[0][0].ToString()); Response.WriteFile(filePath); Response.End(); } 以避免显示默认掩码。