【发布时间】:2020-01-13 11:21:57
【问题描述】:
我有一个表单将 POST 数据发送到 Action,并且一个模型有 HttpPostedFile 字段,但是当我将表单数据发送到 Action 时,我只得到空值 HttpPostedFile 字段 .
这是我的模特:
public class MemberModel
{
[DisplayName("Member Name")]
public string Name { get; set; }
[DisplayName("Telephone / Mobile Number")]
public string PhoneNumber { get; set; }
[DisplayName("Upload File")]
public string ImagePath { get; set; }
public HttpPostedFile ImageFile { get; set; }
}
这是我的行动:
public ActionResult ContactForm(MemberModel membervalues)
{
//Use Namespace called : System.IO
string FileName = Path.GetFileNameWithoutExtension(membervalues.ImageFile.FileName);
//To Get File Extension
string FileExtension = Path.GetExtension(membervalues.ImageFile.FileName);
//Add Current Date To Attached File Name
FileName = DateTime.Now.ToString("yyyyMMdd") + "-" + FileName.Trim() + FileExtension;
//Get Upload path from Web.Config file AppSettings.
string UploadPath = ConfigurationManager.AppSettings["UserImagePath"].ToString();
//Its Create complete path to store in server.
membervalues.ImagePath = UploadPath + FileName;
//To copy and save file into server.
membervalues.ImageFile.SaveAs(membervalues.ImagePath);
//To save Club Member Contact Form Detail to database table.
var db = new ClubMemberDataClassesDataContext();
tblMember _member = new tblMember();
_member.ImagePath = membervalues.ImagePath;
_member.MemberName = membervalues.Name;
_member.PhoneNumber = membervalues.PhoneNumber;
db.tblMembers.InsertOnSubmit(_member);
db.SubmitChanges();
return View();
}
这是我的表单视图:
<div class="form-group">
@Html.LabelFor(model => model.ImagePath, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
<input type="file" name="ImageFile" required />
</div>
</div>
【问题讨论】:
-
我通过 HttpPostedFileBase 更改了 HttpPostedFile,程序运行。但我不知道为什么?
标签: c# asp.net-mvc forms