更改Ajax.reload上数据表ajax url.Action中使用的参数

时间:2017-10-10 09:58:09

标签: javascript asp.net-mvc datatables

如果可以使用数据表中的Ajax.reload()将不同的参数传递给控制器​​,我就会徘徊。

感谢stackoverflow上的另一个主题,我能够在创建表<TextBox Grid.Row="0" Grid.Column="1" Text="{Binding SelectedPerson.FirstName}" VerticalAlignment="Center" HorizontalAlignment="Left" TextWrapping="Wrap" FontSize="16" Margin="20,20,0,20" Width="132"></TextBox>

时将参数从我的变量传递到url.Action

然后在按钮上单击我更改变量的状态(为0或1)并在我的表上调用Ajax.reload()。

问题是控制器在每次重新加载时都会收到相同的参数值。似乎这部分没有重载:

new { cyfy = "_Switch" })".replace("_Switch",Switch)

如果有办法在datatables ajax.realod上传递不同的参数值,我就会徘徊?

代码的大部分内容:

 "ajax": {
           "url": "@Url.Action("GetProjects", "mytool",new { cyfy = "_Switch" })".replace("_Switch",Switch),
            "type": "get",
            "datatype": "json"
         },

1 个答案:

答案 0 :(得分:0)

解决。 问题是Ajax在重新加载时为请求添加了时间戳。

要解决此问题,我在创建表时添加了cache : true,选项。

然后我使用ajax.url重新加载表

 var testURL = CreateUrl("mytool/GetProjects?cyfy=") + Switch;
 $('#myDatatable').DataTable().ajax.url(testURL).load();