2017-10-09 67 views
0

我需要在调用LargeDataComboBox的ValueChanged事件时(当我单击下拉列表中的某行时)弹出窗口显示。DevExpress MVC 17.1如何在LargeDataComboBox中调用ValueChange事件时打开弹出窗口

_searchPanel.cshtml

@Html.DevExpress().ComboBox(
    settings => 
    { 
     settings.Name = "comboBoxSearchPanel"; 
     settings.Height = 30; 
     settings.SelectedIndex = 0; 
     settings.Properties.DropDownStyle = DropDownStyle.DropDown; 
     settings.CallbackRouteValues = new { Controller = "SearchPanel", Action = "SearchPanel" }; 
     settings.Properties.CallbackPageSize = 30; 
     settings.Properties.IncrementalFilteringMode = IncrementalFilteringMode.Contains; 
     settings.Properties.FilterMinLength = 2; 
     settings.Properties.ClearButton.DisplayMode = ClearButtonDisplayMode.OnHover; 
     settings.Properties.ValueField = "id_usuario"; 
     settings.Properties.ValueType = typeof(string); 
     settings.Properties.TextFormatString = "{0} {1}"; 
     settings.Properties.Columns.Add(column => 
     { 
      column.FieldName = "iduser"; 
      column.Caption = "User"; 
     }); 
     settings.Properties.Columns.Add(column => 
     { 
      column.FieldName = "fullname"; 
      column.Caption = "FUllName"; 
      column.Width = 175; 
     }); 
     settings.Properties.ClientSideEvents.ValueChanged = "function(s, e) { OnValueChangeSearchPanel(s, e)}"; 
    } 
).BindList(Model).GetHtml() 

函数,其中ValueChanged事件被称为

function OnValueChangeSearchPanel(s, e) { 
     var x = s.GetSelectedItem().text.split(" "); 
     console.log(x[0]); 
//I need to replace the alert with a popup 
     alert(x[0]); 
    } 

_popupWindow.cshtml它应该如何工作

@Html.DevExpress().PopupControl(settings => 
{ 
    settings.Name = "popupUser"; 
    settings.AllowDragging = true; 
    settings.ShowOnPageLoad = true; 
    settings.CloseAction = CloseAction.CloseButton; 
    settings.HeaderText = "User"; 
    settings.SetContent(() => 
    { 
     ViewContext.Writer.Write(
      "<h1>" + "Welcome" + "</h1>" 
     ); 
    }); 

enter image description here

回答

0

下面的代码执行招

function OnValueChangeSearchPanel(s, e) { 
     var x = s.GetSelectedItem().text.split(" "); 
     popupUser.Show(); 
    } 

你的助手应该是这样的(完整代码here

@Html.DevExpress().PopupControl(settings => 
{ 
    settings.Name = "popupUser"; 
    settings.AllowDragging = true; 
    settings.ShowOnPageLoad = true; 
    settings.EnableClientSideAPI = true; 
    settings.CloseAction = CloseAction.CloseButton; 
    settings.PopupAction = PopupAction.None; 
    settings.HeaderText = "User"; 
    settings.SetContent(() => 
    { 
     ViewContext.Writer.Write(
      "<h1>" + "Welcome" + "</h1>" 
     ); 
    }); 
+0

当OnValueChangeSearchPanel函数被调用时,它会显示错误:“popupContact .show不是函数“ – bryannsi

+0

我添加了** settings.EnableClientSideAPI = true **;但仍然显示相同的错误:_popupContact.show不是一个函数_ – bryannsi

+0

@bryannsi我认为弹出的名称是_popupUser_? –

相关问题