首先,我是新手,所以請原諒我的無知,瀏覽文件在創建視圖MVC4
在我的表,我有我想要的UNC路徑存儲爲PDF文件中的列。我想在我的視圖上有一個按鈕,這將允許用戶瀏覽並選擇與該記錄關聯的文件。 (在幕後,我將把文件複製到指定的文件位置並重命名它)我發現了很多如何瀏覽文件的例子,但我無法弄清楚如何讓這個工作在Create和編輯視圖並將其餘數據保存回數據庫。
在我創建的看法,我已經修改了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?
唉唉。太簡單。我只需將NonProject myRecord添加到FileUploadCreate(因爲這是從BeginForm中調用的那個)。感謝您指點我正確的方向。 –