public void Show() { var windowHtml = R.RenderViewToString(Controller, ViewName, ViewModel); var init = new JsObject(); init.AddProperty("show", true); init.AddProperty("backdrop", "static"); //init.AddProperty("modalOverflow", true); init.AddRawProperty("maxHeight", "function(){return $(window).height()-200;}"); var script = new StringBuilder(); // script.Append("var tag = $("+ windowHtml.AsJavaScript() + ").appendTo('#popups').modal("+init.AsJavaScript()+");"); script.Append("docReady = function(callback) { callback() };"); EmitBinders(script); script.Append("var modal = $(" + windowHtml.AsJavaScript() + ");"); script.Append("modal.attr('id','" + UniqueId + "');"); script.Append("$('body').append(modal);"); if (ViewModel is MessageDialogModel) { script.Append("modal.on('hidden.bs.modal', function (e) {"); script.Append(" bindingHub.server.sendEvent(localStorage.ChromeSessionId,'" + ViewModel.BindingId + "','" + nameof(MessageDialogModel.ClosedByEsc) + "', {} );"); script.Append("}); "); } script.Append("modal.modal(" + init.AsJavaScript() + ");"); script.Append("modal.off('keyup.dismiss.modal');"); script.Append("modal.on('keyup.esc.modal', function(e) {if (e.which == 27) { modal.find('.modal-cancel-button').trigger('click')}; });"); //if (OnClose_Bind != null) //{ // script.AppendLine("tag.on('close',function(event){"); // script.AppendLine(" var args={}; if (event) {args=event.args || {}};"); // script.AppendLine(" bindingHub.server.sendEvent('" + ParentModel.BindingId + "','" + OnClose_Bind + "', args );"); // script.AppendLine("});"); //} Thread.Sleep(1); // не удалять, иначе все глючит !!! Model.ExecuteJavaScript(script.ToString()); }