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

C# 如何使用devexpress功能区按钮执行ActionResult?,c#,asp.net-mvc,devexpress,C#,Asp.net Mvc,Devexpress,在我看来,我有一个带有ribbon的DevXPress ribbon,如下所示: @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(MVCxRib

在我看来,我有一个带有ribbon的DevXPress ribbon,如下所示:

@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()
我不知道如何在某些操作中执行post,并将日期作为参数传递。 mvc devepress中的一些控件有一个非常令人失望的文档。 有人可以帮我吗?

根据这一点,建议使用客户端事件将数据发布到服务器端。请看下面的一个例子

@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>
@Html.DevExpress()功能区(s=>
{
s、 Name=“ribbon”;
......
s、 ClientSideEvents.CommandExecuted=“函数(s,e){OnCommandExecuted(s,e);}”;
.....
tasksGroup.Items.Add(mvcxribonitemtype.ButtonItem,b=>
{
b、 Text=“发送”;
b、 Name=“SendData”;
......
});
}).GetHtml()
命令未执行的功能(s、e){
如果(e.item.name==“SendData”){
$.post(“/controller/action?InialDate=“+s.GetItemValueByName(“InialDate”)+”&finalDate“+s.GetItemValueByName(“finalDate”),函数(数据){
},函数(err){
});
}
}

我定义了js函数的名称,但在控制台中,我收到了以下错误:>未捕获引用错误:未定义OnCommandExecuted。您知道它可能是什么吗?此错误意味着,在页面上定义函数之前,DevExpress尝试使用该函数。尝试将代码替换为s.ClientSideEvents.CommandExecuted=“function(s,e){OnCommandExecuted(s,e);}”;谢谢你,伙计,很好用。但是为什么devex在声明函数之前尝试执行它呢?这对我来说没有意义。这应该是一个错误。DevExpress开始链接标题中的函数,这就是为什么在html正文中定义函数时会出现错误