0

我正在使用数据表插件,事实是我有数千行,所以我实现了服务器处理方法。问题是其中一列有一个文本框,但鉴于我在控制器中生成信息,我在其中创建该字段。

这就是我在控制器中定义元素的方式:

<input class='form-control' data-val='true' data-val-number='El campo Número de Protocolo debe ser un número.' data-val-range='El campo Número de Protocolo debe ser un número entero.' data-val-range-max='2147483647' data-val-range-min='1' id='donaciones_" + i +"__numeroProtocolo' name='donaciones[" + i + "].numeroProtocolo' type='text' />

在我的 viewModel 中,其中一个字段是List<Donacion>命名的 donaciones,而 Donacion 对象的属性之一是“numeroProtocolo”。文本框似乎可以正常呈现,但是当我在其上键入时,“值”属性不会改变。无论我在上面写什么, value 属性都不会改变。

这是它在视图中呈现时的样子:

<input id="donaciones_0__numeroProtocolo" class="form-control" type="text" name="donaciones[0].numeroProtocolo" data-val-range-min="1" data-val-range-max="2147483647" data-val-range="El campo Número de Protocolo debe ser un número entero." data-val-number="El campo Número de Protocolo debe ser un número." data-val="true"></input>

任何想法为什么会发生?

提前致谢!

4

1 回答 1

0

我意识到出了什么问题。我把答案放在这里以供将来参考。我根据页面为每个文本输入生成不同的名称。例如,如果我显示 10 行,则第 1 页的名称将是donations[0],donations[1],...,donations[9]第 2页的名称donations[10],donations[11],...,donations[19]。问题是,在每次 ajax 调用后,服务器端处理表会重绘,并且您会丢失以前的元素,名称为 from,0,1... to 9因此您现在只有来自的元素,10,11... to 19并且 mvc 无法返回具有以索引开头的元素的列表不同于0。这就是它不起作用的原因。

于 2014-02-27T16:09:48.987 回答