Javascript 淘汰:绑定上传的文件
我遇到了一个问题,即无法从主淘汰视图模型中的嵌套模型上载多个文件 通过测试上载HttpPostedFileBase属性,我成功地上载了一个文件,并使用XmlFile属性在EditTestStepjs文件中使用了两个同步ajax调用 但是,在尝试发送绑定到列表中嵌套模型的多个文件时,我无法使用表单数据将其值发送到控制器 嵌套视图模型Javascript 淘汰:绑定上传的文件,javascript,jquery,asp.net-mvc,knockout.js,Javascript,Jquery,Asp.net Mvc,Knockout.js,我遇到了一个问题,即无法从主淘汰视图模型中的嵌套模型上载多个文件 通过测试上载HttpPostedFileBase属性,我成功地上载了一个文件,并使用XmlFile属性在EditTestStepjs文件中使用了两个同步ajax调用 但是,在尝试发送绑定到列表中嵌套模型的多个文件时,我无法使用表单数据将其值发送到控制器 嵌套视图模型 public class XmlParameterViewModel { public string ParameterName { get; set; }
public class XmlParameterViewModel
{
public string ParameterName { get; set; }
public HttpPostedFileBase XmlValue { get; set; }
}
public class EditTestStepViewModel
{
public string TestStepName { get; set; }
public HttpPostedFileBase XmlFile { get; set; }
public List<XmlParameterViewModel> XmlParameters { get; set; }
public EditTestStepViewModel()
{
this.XmlParameters = new List<XmlParameterViewModel>();
}
}
主视图模型
public class XmlParameterViewModel
{
public string ParameterName { get; set; }
public HttpPostedFileBase XmlValue { get; set; }
}
public class EditTestStepViewModel
{
public string TestStepName { get; set; }
public HttpPostedFileBase XmlFile { get; set; }
public List<XmlParameterViewModel> XmlParameters { get; set; }
public EditTestStepViewModel()
{
this.XmlParameters = new List<XmlParameterViewModel>();
}
}
看法
XmlPara
保存测试步骤
您可以通过浏览器发布实际请求吗?我怀疑您的html输入名称没有正确映射到您的属性公共列表XmlParameters{get;set;}
。
<form enctype="multipart/form-data" id="editForm">
<table class="table table-striped">
<tr>
<th>XmlPara</th>
</tr>
<tbody data-bind="foreach: XmlParameters">
<tr>
<td class="form-group"> <input name="ParameterName" class="form-control input-sm" data-bind="value: ParameterName" disabled="disabled"/></td>
<td class="form-group"> <input name="XmlValue" type="file" class="btn btn-group" data-bind="value: XmlValue" /></td>
</tr>
</tbody>
</table>
<button data-bind="click: saveTestStep" type="submit">Save Test Step</button>
<form>