Javascript 剑道UI网格读取操作参数不工作

Javascript 剑道UI网格读取操作参数不工作,javascript,parameters,kendo-ui,grid,Javascript,Parameters,Kendo Ui,Grid,工作 .Read(read => read.Action("Evento_Read", "Eventos", new { dataInicial = new DateTime(2014, 10, 13), dataFinal = new DateTime(2015, 10, 13) }) .Read(read => read.Action("Evento_Read", "Eventos").Data("additionalParam") <script type="t

工作

.Read(read => read.Action("Evento_Read", "Eventos", new { dataInicial = new DateTime(2014, 10, 13), dataFinal = new DateTime(2015, 10, 13) })
.Read(read => read.Action("Evento_Read", "Eventos").Data("additionalParam")   

<script type="text/javascript">
function additionalParam() {

    return {
        dataInicial: new Date(2014,10,13),
        dataFinal: new Date(2015, 10, 13)
    }
}
不工作

.Read(read => read.Action("Evento_Read", "Eventos", new { dataInicial = new DateTime(2014, 10, 13), dataFinal = new DateTime(2015, 10, 13) })
.Read(read => read.Action("Evento_Read", "Eventos").Data("additionalParam")   

<script type="text/javascript">
function additionalParam() {

    return {
        dataInicial: new Date(2014,10,13),
        dataFinal: new Date(2015, 10, 13)
    }
}
.Read(Read=>Read.Action(“Evento_Read”,“Eventos”).Data(“additionalParam”)
函数additionalParam(){
返回{
数据日期:新日期(2014年10月13日),
最终数据:新日期(2015年10月13日)
}
}

网格代码

@(Html.Kendo().Grid<Evento>()
  .Name("eventoGrid")
  .Columns(columns =>
  {
      columns.Bound(c => c.EventoID).Visible(false);
      columns.Bound(c => c.Cliente).Width(150);
      columns.Bound(c => c.Projeto).Width(100);
      columns.Bound(c => c.Atividade).Width(200);
      columns.Bound(c => c.DataOcorrencia).Width(180);
      columns.Bound(c => c.HorasDecimal).Title("Horas").Width(100);
      columns.Template(x => { }).ClientTemplate("<a class='k-button' href='" + Url.Action("Edit", "Eventos") + "?id=#= EventoID #'" + ">Editar</a>").Width(80);
      columns.Bound(c => c.DescricaoCurta).Width(220);
  })
  .HtmlAttributes(new { style = "height:1000px;" })
  .ToolBar(toolbar =>
  {
      toolbar.Excel();
      toolbar.Pdf();
  })
  .Resizable(resize => resize.Columns(true))
  .Pageable(pager => pager
      .Input(true)
      .Numeric(true)
      .Info(true)
      .PreviousNext(true)
      .Refresh(true)
      .PageSizes(true).ButtonCount(5)
  )
  .Selectable(selectable =>
  {
      selectable.Mode(GridSelectionMode.Single);
      selectable.Type(GridSelectionType.Row);
  })
  .Sortable(sortable => { sortable.SortMode(GridSortMode.SingleColumn); })
  .Filterable()
  .Scrollable()
  .AutoBind(true)
  .Selectable(s => s.Mode(GridSelectionMode.Multiple))
  .DataSource(dataSource => dataSource
      .Ajax()
                     .Read(read => read.Action("Evento_Read", "Eventos", new { dataInicial = new DateTime(2014, 10, 13), dataFinal = new DateTime(2015, 10, 13) })
                     //.Read(read => read.Action("Evento_Read", "Eventos").Data("additionalParam")   
    ).PageSize(100)))
  @(Html.Kendo().DatePicker()
      .Name("start")
      .Value(DateTime.Today.AddMonths(-1))
      .ParseFormats(new[] {"dd/MM/yyyy"})
      )

<label>Fim:</label>
@(Html.Kendo().DatePicker()
      .Name("end")
      .Value(DateTime.Today)
      .ParseFormats(new[] {"dd/MM/yyyy"})
      )

@(Html.Kendo().Button()
      .Name("primaryTextButton")
      .HtmlAttributes(new {type = "button", @class = "k-primary"})
      .Content("Pesquisar"))


<script>
$("#primaryTextButton").click(function() {

    $("#eventoGrid").data("kendoGrid").dataSource.read();
    $("#eventoGrid").css("display", "block");
});


function additionalParam() {

    var startDate = $("#start").kendoDatePicker({
        parseFormats: ["dd/MM/yyyy"],
        format: "dd/MM/yyyy"
    }).data("kendoDatePicker");

    var endDate = $("#end").kendoDatePicker({
        parseFormats: ["dd/MM/yyyy"],
        format: "dd/MM/yyyy"
    }).data("kendoDatePicker");


    return {
        dataInicial: startDate.value(),
        dataFinal: endDate.value()
    }
}
@(Html.Kendo().Grid())
.Name(“事件网格”)
.列(列=>
{
columns.Bound(c=>c.EventoID).Visible(false);
columns.Bound(c=>c.Cliente).Width(150);
columns.Bound(c=>c.Projeto).Width(100);
columns.Bound(c=>c.Atividade).Width(200);
columns.Bound(c=>c.DataOcorrencia).Width(180);
列绑定(c=>c.HorasDecimal).Title(“Horas”).Width(100);
columns.Template(x=>{}).ClientTemplate(“”).Width(80);
columns.Bound(c=>c.descripa).Width(220);
})
.HtmlAttributes(新的{style=“height:1000px;”})
.ToolBar(ToolBar=>
{
toolbar.Excel();
toolbar.Pdf();
})
.resize可调整大小(resize=>resize.Columns(true))
.Pageable(寻呼机=>寻呼机
.输入(真)
.数字(真)
.Info(正确)
.PreviousNext(真)
.刷新(真)
.PageSizes(true).按钮计数(5)
)
.可选(可选=>
{
可选模式(GridSelectionMode.Single);
可选.Type(GridSelectionType.Row);
})
.Sortable(Sortable=>{Sortable.SortMode(GridSortMode.SingleColumn);})
.可过滤()
.Scrollable()
.AutoBind(真)
.可选(s=>s.Mode(GridSelectionMode.Multiple))
.DataSource(DataSource=>DataSource
.Ajax()
.Read(Read=>Read.Action(“Evento_Read”,“Eventos”,new{datainical=new DateTime(2014,10,13),dataFinal=new DateTime(2015,10,13)})
//.Read(Read=>Read.Action(“Evento_Read”,“Eventos”).Data(“additionalParam”)
).PageSize(100)))

尝试将日期参数作为字符串传递。jQuery(KendoUI在后台使用)不会发送JavaScript日期

function additionalParam() {
    return {
        dataInicial: "2014-10-13", // new Date(2014,10,13),
        dataFinal: "2015-10-13" //new Date(2015, 10, 13)
    };
}

最终代码

@(Html.Kendo().Grid<Evento>()
  .Name("eventoGrid")
  .Columns(columns =>
  {
      columns.Bound(c => c.EventoID).Visible(false);
      columns.Bound(c => c.Cliente).Width(150);
      columns.Bound(c => c.Projeto).Width(100);
      columns.Bound(c => c.Atividade).Width(200);
      columns.Bound(c => c.DataOcorrencia).Width(180);
      columns.Bound(c => c.HorasDecimal).Title("Horas").Width(100);
      columns.Template(x => { }).ClientTemplate("<a class='k-button' href='" + Url.Action("Edit", "Eventos") + "?id=#= EventoID #'" + ">Editar</a>").Width(80);
      columns.Bound(c => c.DescricaoCurta).Width(220);
  })
  .HtmlAttributes(new { style = "height:1000px;" })
  .ToolBar(toolbar =>
  {
      toolbar.Excel();
      toolbar.Pdf();
  })
  .Resizable(resize => resize.Columns(true))
  .Pageable(pager => pager
      .Input(true)
      .Numeric(true)
      .Info(true)
      .PreviousNext(true)
      .Refresh(true)
      .PageSizes(true).ButtonCount(5)
  )
  .Selectable(selectable =>
  {
      selectable.Mode(GridSelectionMode.Single);
      selectable.Type(GridSelectionType.Row);
  })
  .Sortable(sortable => { sortable.SortMode(GridSortMode.SingleColumn); })
  .Filterable()
  .Scrollable()
  .AutoBind(true)
  .Selectable(s => s.Mode(GridSelectionMode.Multiple))
  .DataSource(dataSource => dataSource
      .Ajax()
                     .Read(read => read.Action("Evento_Read", "Eventos", new { dataInicial = new DateTime(2014, 10, 13), dataFinal = new DateTime(2015, 10, 13) })
                     //.Read(read => read.Action("Evento_Read", "Eventos").Data("additionalParam")   
    ).PageSize(100)))
  @(Html.Kendo().DatePicker()
      .Name("start")
      .Value(DateTime.Today.AddMonths(-1))
      .ParseFormats(new[] {"dd/MM/yyyy"})
      )

<label>Fim:</label>
@(Html.Kendo().DatePicker()
      .Name("end")
      .Value(DateTime.Today)
      .ParseFormats(new[] {"dd/MM/yyyy"})
      )

@(Html.Kendo().Button()
      .Name("primaryTextButton")
      .HtmlAttributes(new {type = "button", @class = "k-primary"})
      .Content("Pesquisar"))


<script>
$("#primaryTextButton").click(function() {

    $("#eventoGrid").data("kendoGrid").dataSource.read();
    $("#eventoGrid").css("display", "block");
});


function additionalParam() {

    var startDate = $("#start").kendoDatePicker({
        parseFormats: ["dd/MM/yyyy"],
        format: "dd/MM/yyyy"
    }).data("kendoDatePicker");

    var endDate = $("#end").kendoDatePicker({
        parseFormats: ["dd/MM/yyyy"],
        format: "dd/MM/yyyy"
    }).data("kendoDatePicker");


    return {
        dataInicial: startDate.value(),
        dataFinal: endDate.value()
    }
}
@(Html.Kendo().DatePicker())
.名称(“开始”)
.Value(DateTime.Today.AddMonths(-1))
.ParseFormats(新[]{“dd/MM/yyyy”})
)
职能指令手册:
@(Html.Kendo().DatePicker())
.名称(“结束”)
.Value(DateTime.Today)
.ParseFormats(新[]{“dd/MM/yyyy”})
)
@(Html.Kendo().Button())
.Name(“primaryTextButton”)
.HtmlAttributes(新的{type=“button”,@class=“k-primary”})
.Content(“Pesquisar”))
$(“#primaryTextButton”)。单击(函数(){
$(“#eventoGrid”).data(“kendoGrid”).dataSource.read();
$(“#eventoGrid”).css(“显示”、“块”);
});
函数additionalParam(){
var startDate=$(“#start”).kendoDatePicker({
解析格式:[“dd/MM/yyyy”],
格式:“dd/MM/yyyy”
}).数据(“kendoDatePicker”);
var endDate=$(“#end”).kendoDatePicker({
解析格式:[“dd/MM/yyyy”],
格式:“dd/MM/yyyy”
}).数据(“kendoDatePicker”);
返回{
dataInicial:startDate.value(),
dataFinal:endDate.value()
}
}

@(Html.Kendo().Grid())
.Name(“事件网格”)
.列(列=>
{
columns.Bound(c=>c.EventoID).Visible(false);
columns.Bound(c=>c.Cliente).Width(150);
columns.Bound(c=>c.Projeto).Width(100);
columns.Bound(c=>c.Atividade).Width(200);
columns.Bound(c=>c.DataOcorrencia).Width(180);
列绑定(c=>c.HorasDecimal).Title(“Horas”).Width(100);
columns.Template(x=>{}).ClientTemplate(“”).Width(80);
columns.Bound(c=>c.descripa).Width(220);
})
.HtmlAttributes(新的{style=“height:1000px;”})
.ToolBar(ToolBar=>
{
toolbar.Excel();
toolbar.Pdf();
})
.resize可调整大小(resize=>resize.Columns(true))
.Pageable(寻呼机=>寻呼机
.输入(真)
.数字(真)
.Info(正确)
.PreviousNext(真)
.刷新(真)
.PageSizes(true).按钮计数(5)
)
.可选(可选=>
{
可选模式(GridSelectionMode.Single);
可选.Type(GridSelectionType.Row);
})
.Sortable(Sortable=>{Sortable.SortMode(GridSortMode.SingleColumn);})
.可过滤()
.Scrollable()
.AutoBind(假)
.可选(s=>s.Mode(GridSelectionMode.Multiple))
.DataSource(DataSource=>DataSource
.Ajax()
.Read(Read=>Read.Action(“Evento_Read”,“Eventos”).Data(“additionalParam”)
).PageSize(100)))

这对我很有用。你的控制器动作是什么样子的?在代码中添加一些注释/解释可以帮助人们更好地理解