【问题标题】:Input Text Not Taking Value ASP .NET MVC 4输入文本不取值 ASP .NET MVC 4
【发布时间】:2014-02-26 01:13:49
【问题描述】:

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

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

<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 中,其中一个字段是名为 donaciones 的 List&lt;Donacion&gt;,而 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>

任何想法为什么会发生?

提前致谢!

【问题讨论】:

    标签: asp.net-mvc-4 c#-4.0 html.textboxfor


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多