我正在尝试扩展(我的实际示例非常相似)angular-xeditable -可编辑行-示例如下:http://vitalets.github.io/angular-xeditable/#editable-row或者这里的jsFiddle链接:http://jsfiddle.net/NfPcH/93/
这样我就有一个额外的列用于上传每一行/项的文件。这是很好的,如果它可以只是输入元素的类型文件,但我打开其他解决方案。通常,我的专栏看起来像这样:
<td>
<span editable-text="template.description" e-name="description" e-form="rowform" e-required>
{{ template.description || 'empty' }}
</span>
</td>
但是,现在我想添加我的自定义列,我尝试输入元素带有或不带有这里提到的所有属性:
<td>
<input id="file"
accept="application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
ng-show="rowform.$visible"
class="btn btn-default"
name="file"
type="file"
e-name="file"
e-form="rowform"
value="{{ user.file || 'empty' }}" />
</td>
在任何情况下,当执行以下代码时,我无法在我的angular控制器中获取- file - value:
$scope.saveUser = function (data, id) {
//$scope.user not updated yet
angular.extend(data, { id: id });
angular.extend(data, { file: file });
return $http.post('/saveUser', data);
};
我的数据对象在这里与所有其他属性,如- description -但不与- file - property!
当然,我将onbeforesave事件扩展为:
…form edit -form name="rowform" onbeforeave ="saveTemplate($data, user. name) "id、user.file)" …
任何建议吗?
谢谢,Vedran
我被这个困住了。
当我认为一切都很好,因为我得到了文件对象在我的角模型通过使用解决方案与创建自定义指令在这里提到:
ng-model for
…然后新的问题开始困扰我。
我无法在绑定过程中将此文件对象映射到MVC控制器的HttpPostedFileBase参数。
我尝试了一切,比如排除属性和添加单独的参数到我的MVC控制器,或创建自定义MVC模型绑定器,但我看到的例子使用ModelBinderResult类,我无法在任何命名空间的MVC 5类下找到。
这个File对象肯定在这里,但是我无法使它工作。我知道这个对象不是空的或空的,因为如果我指定控制器的输入参数的类型=> object,那么它不是空的。
请,任何帮助将是非常欢迎的!
Vedran