如何使用devexpress功能区按钮执行ActionResult?

时间:2014-02-17 23:33:54

标签: c# asp.net-mvc devexpress

在我看来,我有一条带有色带的devexpress色带,如下所示:

@Html.DevExpress().Ribbon(settings =>
{
settings.ShowFileTab = false;
settings.Name = "ribbon";
var tab = settings.Tabs.Add("Options");
var tasksGroup = tab.Groups.Add("Range");
tasksGroup.Items.Add(MVCxRibbonItemType.DateEditItem, s =>
{
    s.Name = "inicialDate";
    s.Text = "Data Inicial";
});
tasksGroup.Items.Add(MVCxRibbonItemType.DateEditItem, s =>
{
    s.Name = "finalDate";
    s.Text = " Data Final";
});
tasksGroup.Items.Add(MVCxRibbonItemType.ButtonItem, b =>
{
    b.Text = "Send";
    b.ItemStyle.BackColor = System.Drawing.Color.OrangeRed;        
});
}).GetHtml()

我无法弄清楚如何在将某个日期作为参数传递的某些操作中执行帖子。 mvc devepress中的一些控件有一个非常令人厌恶的文档。 有人可以帮我这个吗?

1 个答案:

答案 0 :(得分:2)

根据此link,DevExpress支持建议使用客户端事件将数据发布到服务器端。请看下面的例子

@Html.DevExpress().Ribbon(s=>
{
s.Name = "ribbon";
......
s.ClientSideEvents.CommandExecuted = "function (s,e) { OnCommandExecuted(s,e); }";
.....
tasksGroup.Items.Add(MVCxRibbonItemType.ButtonItem, b =>
{
    b.Text = "Send";
    b.Name = "SendData";
    ......
});
}).GetHtml()

<script>
  function OnCommandExecuted(s,e) {
    if (e.item.name == "SendData"){
      $.post("/controller/action?inicialDate=" + s.GetItemValueByName("inicialDate") + "&finalDate" + s.GetItemValueByName("finalDate"), function (data) {
      }, function (err) {
      });
    }
  }
</script>