asp.net-mvc-3 – MVC3,多文件上传,模型绑定
发布时间:2020-08-03 08:02:05 所属栏目:asp.Net 来源:互联网
导读:可以更新复杂模型(Transaction). 复杂模型具有可以具有多个附件(文件)的属性, 这样用户可以在这种形式下同时上传多个文件, 我试图将这些文件保存到数据库中. 我已成功将多个文件发布到服务器, 关注博文 http://haacked.com/archive/2010/07/16/uploading-file
|
可以更新复杂模型(Transaction).
我已成功将多个文件发布到服务器, 但是为了保存这些文件,以便我可以跟踪哪些文件属于复杂模型(Transaction)的哪个对象,因此稍后在适当的位置显示它们,我需要一些方法将上传的文件关联到它所属的对象到,但由于所有文件都在名称’文件’下,我不知道如何使这项工作. 这是简化的复杂模型: public class Transaction
{
[Key]
public int Id { get; set; }
public virtual PurchaseRequisition PurchaseRequisition { get; set; }
public virtual Evaluation Evaluation { get; set; }
}
复杂模型的属性: public class PurchaseRequisition
{
[Key,ForeignKey("Transaction")]
public int TransactionId { get; set; }
public virtual Transaction Transaction { get; set; }
[Display(Name = "Specifications/Requisitioner's Notes")]
public virtual ICollection<Attachment> SpecsRequisitionerNotesFiles { get; set; }
}
public class Evaluation
{
[Key,ForeignKey("Transaction")]
public int TransactionId { get; set; }
public virtual Transaction Transaction { get; set; }
public virtual ICollection<Attachment> BidResultsFiles { get; set; }
}
public abstract class Attachment
{
[Key]
public int Id { get; set; }
public string FileName { get; set; }
public string FileExtension { get; set; }
public byte[] Data { get; set; }
public Boolean Deleted { get; set; }
}
这是控制器: [HttpPost]
public ActionResult Create(TransactionViewModel model,IEnumerable<HttpPostedFileBase> files)
{ //save to database }
解决方法在视图中为采购申请和投标结果创建单独的部分.像这样的东西:<form action="" method="post" enctype="multipart/form-data"> <h3>Purchase Requistions</h3> <label for="file1">Filename:</label> <input type="file" name="purchasereqs" id="file1" /> <label for="file2">Filename:</label> <input type="file" name="purchasereqs" id="file2" /> <h3>Bid Results</h3> <label for="file3">Filename:</label> <input type="file" name="bidresults" id="file3" /> <label for="file4">Filename:</label> <input type="file" name="bidresults" id="file4" /> <input type="submit" /> </form> 然后你会有这样的动作签名: [HttpPost]
public ActionResult Create(
TransactionViewModel model,IEnumerable<HttpPostedFileBase> purchasereqs,IEnumerable<HttpPostedFileBase> bidresults)
{
//save to database
} (编辑:岳阳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 干净的方式来防止输入按钮提交表单
- asp.net-mvc – 使用Viewbag绑定DropdownlistFor
- asp.net-mvc – MVC 5具有身份验证模式的外部身份验证=表单
- .net – 如何动态清除用户控件中的所有控件?
- asp.net – App Settings和connectionStrings配置设置中连接
- asp.net-mvc-4 – .net 4.5 ASP.Net web API JSONP支持
- asp.net-mvc-3 – 使用@ Html.Raw有风险吗?
- asp.net – Web部署项目的更好替代品
- asp.net-mvc – 如何将html5属性和值导入mvc HiddenFor
- asp.net-mvc – 如何在视图上下文之外获取ModelMetadata?
推荐文章
站长推荐
- asp.net Gridview,1记录跨度两行
- asp.net-mvc-4 – 通过ADAL JavaScript Ajax和Kn
- asp.net-mvc – 在ajax请求中返回PDF
- asp.net-mvc – 在ClaimsIdentity上,BootstrapCo
- asp.net – 如何在MVC 3中设置图表系列颜色?
- asp.net – 更改事件和IE8的jQuery问题
- 如何在ASP.NET MVC中配置3个级别的URL?
- asp.net-mvc-3 – 如何在页面提交ASP.Net MVC时捕
- asp.net-mvc – ASP.NET MVC:部分知道它是否是从
- 密码由6-12位数字或字母组成,密码哈希加密
热点阅读
