首先,我是新手,所以请原谅我的无知...
在我的表中,我有一列我想将 UNC 路径存储到 PDF 文件。我想在我的视图上有一个按钮,允许用户浏览并选择要与记录关联的文件。(在幕后,我会将文件复制到指定的文件位置并重命名)我找到了很多关于如何浏览文件的示例,但我只是不知道如何让它在 Create and编辑视图并将其余数据保存回数据库。
在我的创建视图中,我已将 BeginForm 修改为:
@using (Html.BeginForm("FileUploadCreate", "GL", FormMethod.Post, new { enctype = "multipart/form-data" }))
为了让我的专栏存储我拥有的 PDF 位置:
@Html.TextBoxFor(Model => Model.PDF, null, new { type="file"})
我的控制器有:
[HttpPost]
public ActionResult FileUploadCreate(HttpPostedFileBase PDF)
{
string path = "";
if (PDF != null)
{
if (PDF.ContentLength > 0)
{
string fileName = Path.GetFileName(PDF.FileName);
string directory = "c:\\temp\\Accruals\\PDF";
path = Path.Combine(directory, fileName);
PDF.SaveAs(path);
}
}
return RedirectToAction("Index");
}
这一切正常,文件被复制到适当的测试文件夹。但是,我的记录永远不会保存到数据库中,因为我的实际创建帖子永远不会被击中:
[HttpPost]
public ActionResult Create(NonProject myRecord)
{
try
{
_repository.AddNonProject(myRecord);
return RedirectToAction("Index");
}
catch
{
return View();
}
}
我需要做什么?如何在我的 Create 中引用我的 NonProject 对象?我可以在我的 BeginForm 中添加一些内容以将其传递给 FileUploadCreate 吗?