2014-06-15 63 views
0

何人。我试图从用户拍摄3张照片,所以我的模型,我是这样的:HttpPostedFileBase返回null我控制器

namespace DomainClass 
{ 
    using System; 
    using System.Collections.Generic; 
    using System.Web.Http; 
    public partial class CompanyMember 
    { 
     public CompanyMember() 
     { 
      this.Proficiencies = new HashSet<Proficiency>(); 
     } 

     [DisplayName(" شناسه")] 
     public int Id { get; set; } 

     [DisplayName("عکس")] 
     public string ImageUrl { get; set; } 

     [DisplayName("کارت ملی")] 
     public string IntCartCopy { get; set; } 

     [DisplayName("شناسنامه")] 
     public string IdentityCartCopy { get; set; } 

       [System.ComponentModel.DataAnnotations.Schema.NotMapped] 
     public HttpPostedFileBase ImgFileImageUrl { get; set; } 
       [System.ComponentModel.DataAnnotations.Schema.NotMapped] 

     public HttpPostedFileBase ImgFileIntCartCopy { get; set; } 
       [System.ComponentModel.DataAnnotations.Schema.NotMapped] 

     public HttpPostedFileBase ImgFileIdentityCartCopy { get; set; } 


     public virtual Company Company { get; set; } 
     public virtual ICollection<Proficiency> Proficiencies { get; set; } 
    } 

所以,在我看来,要得到的图片我创造这样的3个输入标签:

@model DomainClass.CompanyMember 

@{ 
    ViewBag.Title = "اضافه کردن اعضاء"; 
} 
@using (Html.BeginForm("Create", "CompanyMember", FormMethod.Post, 
    new { id = "form", enctype = "multipart/form-data" })) 
{ 
    @Html.ValidationSummary(true) 
    <div class="wrapper-left"> 
     <div class="wrapper-top-addCompany"> 
      اعضاء 
      <div style="float: left; padding-left: 20px;"> 
       <div class="divider"></div> 
       <div class="buttonPossion"> 
        <input type="submit" value="ذخیره اطلاعات" Class="buttonSave" /> 
        @Html.ActionLink("بازگشت", "index", new {companyId = ViewBag.companyId}, new {@class = "buttonBlueLink"}) 
       </div> 
       <div class="divider"></div> 
      </div> 
     </div> 
          @Html.HiddenFor(model => model.CompanyId) 

     <div class="wrapper"> 
      <div class="wrapper-Member" style="padding-bottom: 30px; margin-bottom: 5px; width: 98%"> 
       <h2> 
        اضافه کردن اعضاء جدید 
       </h2><br/><br/><br/> 
       <div class="editor-label"> 
        @Html.LabelFor(model => model.Name) @Html.ValidationMessageFor(model => model.Name) 
       </div> 
       <div class="editor-field"> 
        @Html.EditorFor(model => model.Name) 
       </div> 

       <div class="editor-label"> 
        @Html.LabelFor(model => model.Family) @Html.ValidationMessageFor(model => model.Family) 
       </div> 
       <div class="editor-field"> 
        @Html.EditorFor(model => model.Family) 
       </div> 

       <div class="editor-label"> 
        @Html.LabelFor(model => model.EducationLevel) @Html.ValidationMessageFor(model => model.EducationLevel) 
       </div> 
       <div class="editor-field"> 
        @Html.EditorFor(model => model.EducationLevel) 
       </div> 

       <div class="editor-label"> 
        @Html.LabelFor(model => model.University) @Html.ValidationMessageFor(model => model.University) 
       </div> 
       <div class="editor-field"> 
        @Html.EditorFor(model => model.University) 
       </div> 

       <div class="editor-label"> 
        @Html.LabelFor(model => model.Mobile) @Html.ValidationMessageFor(model => model.Mobile) 
       </div> 
       <div class="editor-field"> 
        @Html.EditorFor(model => model.Mobile) 
       </div> 

       <div class="editor-label"> 
        @Html.LabelFor(model => model.Telephone) @Html.ValidationMessageFor(model => model.Telephone) 
       </div> 
       <div class="editor-field"> 
        @Html.EditorFor(model => model.Telephone) 
       </div> 

       <div class="editor-label"> 
        @Html.LabelFor(model => model.Address) @Html.ValidationMessageFor(model => model.Address) 
       </div> 
       <div class="editor-field"> 
        @Html.EditorFor(model => model.Address) 
       </div> 

       <div class="editor-label"> 
        @Html.LabelFor(model => model.Email) @Html.ValidationMessageFor(model => model.Email) 
       </div> 
       <div class="editor-field"> 
        @Html.EditorFor(model => model.Email) 
       </div> 

       <div class="editor-label"> 
        @Html.LabelFor(model => model.InternationalCode) @Html.ValidationMessageFor(model => model.InternationalCode) 
       </div> 
       <div class="editor-field"> 
        @Html.EditorFor(model => model.InternationalCode) 
       </div> 

       <div class="editor-label"> 
        @Html.LabelFor(model => model.Field) @Html.ValidationMessageFor(model => model.Field) 
       </div> 
       <div class="editor-field"> 
        @Html.EditorFor(model => model.Field) 
       </div> 

       <div class="editor-label"> 
        @Html.LabelFor(model => model.Job) @Html.ValidationMessageFor(model => model.Job) 
       </div> 
       <div class="editor-field"> 
        @Html.EditorFor(model => model.Job) 
       </div> 

       <div class="editor-label"> 
        @Html.LabelFor(model => model.Share) @Html.ValidationMessageFor(model => model.Share) 
       </div> 
       <div class="editor-field"> 
        @Html.EditorFor(model => model.Share) 
       </div> 

       <div class="editor-label"> 
        @Html.LabelFor(model => model.Password) @Html.ValidationMessageFor(model => model.Password) 
       </div> 
       <div class="editor-field"> 
        @Html.EditorFor(model => model.Password) 
       </div> 

       <div class="editor-label"> 
        @Html.LabelFor(model => model.ImageUrl) 
       </div> 
       <div class="editor-field"> 
        @Html.HiddenFor(model => model.ImageUrl) 
        <input id="imgProfile" type="file" name="ImgFileImageUrl"/> 
       </div> 

       <div class="editor-label"> 
        @Html.LabelFor(model => model.IntCartCopy) 
       </div> 
       <div class="editor-field"> 
        @Html.HiddenFor(model => model.IntCartCopy) 
        <input id="imgIntCartCopy" type="file" name="ImgFileIntCartCopy"/> 
       </div> 

       <div class="editor-label"> 
        @Html.LabelFor(model => model.IdentityCartCopy) 
       </div> 
       <div class="editor-field"> 
        @Html.HiddenFor(model => model.IdentityCartCopy) 
        <input id="imgIdentityCartCopy" type="file" name="ImgFileIdentityCartCopy"/> 
       </div> 

      </div> 
     </div> 
    </div> 
} 

<div> 
    @Html.ActionLink("Back to List", "Index") 
</div> 

@section Scripts { 
    @Scripts.Render("~/bundles/jqueryval") 
} 

但提交3个HttpPostedFileBase colums后返回null。在我控制我检查文件的价值,所有的人都为空,为什么和我如果条件返回

public ActionResult Create(CompanyMember companyMember) 
     { 
      if (companyMember.ImgFileImageUrl != null && companyMember.ImgFileIntCartCopy!=null && companyMember.ImgFileIdentityCartCopy!=null) 
      { 

       saving 
      } 

     } 

问候

+1

用窗体显示您的comnplete视图 –

回答

-1

发布文件

Request.Files 

可用你应该阅读并通过控制器动作保存到数据库。为此,请使用输入的名称作为Request.Files表索引,例如:

HttpPostedFileBase img = Request.Files["ImgFileIntCartCopy"]; 
if(img != null) 
    img.SaveAs(path + img.FileName);